51Testing软件测试论坛

标题: 怎么使用WebDriver定位canvas标签中的元素 [打印本页]

作者: pyqone    时间: 2016-9-5 10:05
标题: 怎么使用WebDriver定位canvas标签中的元素
刚入职几个月,由于之前未接触过selenium,完全不知道怎么定位canvas标签中的元素,望各位大神能指教



作者: 梦想家    时间: 2016-9-5 14:28
定位方式有好多,可以用xpath定位
作者: 梦想家    时间: 2016-9-5 14:29
或是用ide录制查看一下他的定位里面所有定位都会显示出来
作者: pyqone    时间: 2016-9-5 14:40
梦想家 发表于 2016-9-5 14:29
或是用ide录制查看一下他的定位里面所有定位都会显示出来

悄悄地告诉你,这方法我试了···结果显示“css=canvas”,然后让它跑起来以后,到那一步就报错了
作者: pyqone    时间: 2016-9-5 14:41
梦想家 发表于 2016-9-5 14:28
定位方式有好多,可以用xpath定位

Xpath也定位不了,无法获取那个图标的xpath,得到的结果就是div/canvas···
作者: 若尘_51    时间: 2016-9-5 14:48
你的脚本发出来看看,另外的HTML页面可以的话,也一并放上来,给大伙看看。

作者: 梦想家    时间: 2016-9-5 15:53
191707998  selenium群 进去问去 定位的问题肯定不是大问题
作者: pyqone    时间: 2016-9-6 08:24
若尘_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();
复制代码

作者: pyqone    时间: 2016-9-6 09:02
梦想家 发表于 2016-9-5 15:53
191707998  selenium群 进去问去 定位的问题肯定不是大问题

好的,谢谢,我加入看看
作者: pyqone    时间: 2016-9-8 08:29
梦想家 发表于 2016-9-5 15:53
191707998  selenium群 进去问去 定位的问题肯定不是大问题

不行啊···那个群不给力啊,完全没人说话
作者: apollo0687    时间: 2016-9-8 15:10
用xpath试试呢
作者: pyqone    时间: 2016-9-9 08:29
apollo0687 发表于 2016-9-8 15:10
用xpath试试呢

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




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2