51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4352|回复: 12
打印 上一主题 下一主题

怎么使用WebDriver定位canvas标签中的元素

[复制链接]
  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    跳转到指定楼层
    1#
    发表于 2016-9-5 10:05:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    刚入职几个月,由于之前未接触过selenium,完全不知道怎么定位canvas标签中的元素,望各位大神能指教


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2016-9-5 14:28:50 | 只看该作者
    定位方式有好多,可以用xpath定位
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2016-9-5 14:29:33 | 只看该作者
    或是用ide录制查看一下他的定位里面所有定位都会显示出来

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
     楼主| 发表于 2016-9-5 14:40:16 | 只看该作者
    梦想家 发表于 2016-9-5 14:29
    或是用ide录制查看一下他的定位里面所有定位都会显示出来

    悄悄地告诉你,这方法我试了···结果显示“css=canvas”,然后让它跑起来以后,到那一步就报错了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
     楼主| 发表于 2016-9-5 14:41:31 | 只看该作者
    梦想家 发表于 2016-9-5 14:28
    定位方式有好多,可以用xpath定位

    Xpath也定位不了,无法获取那个图标的xpath,得到的结果就是div/canvas···
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    6#
    发表于 2016-9-5 14:48:09 | 只看该作者
    你的脚本发出来看看,另外的HTML页面可以的话,也一并放上来,给大伙看看。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    7#
    发表于 2016-9-5 15:53:27 | 只看该作者
    191707998  selenium群 进去问去 定位的问题肯定不是大问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    8#
     楼主| 发表于 2016-9-6 08:24:18 | 只看该作者
    若尘_51 发表于 2016-9-5 14:48
    你的脚本发出来看看,另外的HTML页面可以的话,也一并放上来,给大伙看看。

    HTML代码太长,毕竟是一个web软件,我的脚本也很简单,只是想点击那个设备点而已。就两行主要的代码
    /*省略前代码*/
    Actions act = new Actions(driver);
    1. act.click(driver.findElement(By.cssSelector("html body div#Judge_MainDiv div#Study_RightMain div#map_canvas div.gm-style div div div div div div div canvas"))).perform();
    复制代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    9#
     楼主| 发表于 2016-9-6 09:02:00 | 只看该作者
    梦想家 发表于 2016-9-5 15:53
    191707998  selenium群 进去问去 定位的问题肯定不是大问题

    好的,谢谢,我加入看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    10#
     楼主| 发表于 2016-9-8 08:29:54 | 只看该作者
    梦想家 发表于 2016-9-5 15:53
    191707998  selenium群 进去问去 定位的问题肯定不是大问题

    不行啊···那个群不给力啊,完全没人说话
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-1 09:52
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    11#
    发表于 2016-9-8 15:10:03 | 只看该作者
    用xpath试试呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-3-13 18:26
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]测试师长

    12#
     楼主| 发表于 2016-9-9 08:29:49 | 只看该作者

    xpath没用,只要是定位到canvas的都没用,因为canvas标签是256*256px的,而设备点只是标签中的一个小部分大概25*25px
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 14:34 , Processed in 0.072983 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表