51Testing软件测试论坛

标题: selenium2 定位元素怎么写代码 [打印本页]

作者: 王开颜    时间: 2016-9-22 10:21
标题: selenium2 定位元素怎么写代码
本帖最后由 王开颜 于 2016-9-22 10:23 编辑

求各位大神指导C:\Users\Administrator\Desktop\QQ截图20160921174135.png[attach]102801[/attach]
作者: 掉渣饼    时间: 2016-9-22 10:40
可以把你具体遇到的问题描述下吗?
作者: 王开颜    时间: 2016-9-22 10:52
掉渣饼 发表于 2016-9-22 10:40
可以把你具体遇到的问题描述下吗?

我登录进来了   下一步要点击待办公文   就没办法执行了
        driver.findElement(By.name("userId")).sendKeys("xuxiaozhe");
        driver.findElement(By.name("password")).sendKeys("666666");
        driver.findElement(By.xpath("//img[@src='images/loginButton.png']")).click();
        Thread.sleep(5000);
        driver.findElement(By.xpath("//*[text='待办公文']")).click();
作者: 梦想家    时间: 2016-9-22 11:49
例:driver.find_element_by_id("kw").send_keys("selenium2")
driver.find_element_by_id("su").click()
作者: 王开颜    时间: 2016-9-22 13:51
梦想家 发表于 2016-9-22 11:49
例:driver.find_element_by_id("kw").send_keys("selenium2")
driver.find_element_by_id("su").click()

这样写没有用   
这是HTML代码
<a tabIndex="1" class="x-tree-node-anchor" hideFocus="" href="http://192.168.1.100:8002/import_menu.jsp#">
<span unselectable="on">
文本 - 待办公文
<div id="menuTreeNum_1009" style="display: inline;">
作者: tarooops    时间: 2016-9-22 16:01
直接定位xpath理解吧
作者: 王开颜    时间: 2016-9-22 17:24
tarooops 发表于 2016-9-22 16:01
直接定位xpath理解吧

试过  失败了
作者: 若尘_51    时间: 2016-9-22 17:30
王开颜 发表于 2016-9-22 17:24
试过  失败了

登陆后有跳转页面或新开页面吗?(切换句柄)
另外操作的元素是不是在ifame框架内?(切换ifame)
作者: 芒果go    时间: 2016-9-23 09:28
王开颜 发表于 2016-9-22 10:52
我登录进来了   下一步要点击待办公文   就没办法执行了
        driver.findElement(By.name("userId") ...

有没有提示错误?你可以试试直接路径,这样定位应该可以。
作者: 芒果go    时间: 2016-9-23 10:21
若尘_51 发表于 2016-9-22 17:30
登陆后有跳转页面或新开页面吗?(切换句柄)
另外操作的元素是不是在ifame框架内?(切换ifame)

嗯嗯,试试句柄,在之前页面:handle1=driver.current_window_handle  
                                          all_handle=driver.window_handles             #这里要等出现img以后获取
                                          for handle in all_handle:
                                                   if handle !=handle1:
                                                           driver.switch_to.window(handle)
                                     大概就是这个意思,你试试!
作者: alchaochao    时间: 2016-9-23 18:40
首先检查html代码,看看要定位的元素是否父级是否有frame元素,
如果有,就先定位frame元素,然后使用 driver.switchTo().frame(""),跳转到frame里,然后再定位你下边的元素

作者: dahui42666    时间: 2016-10-18 20:58
//*[@class='AAAAAA']
AAAAAAA你自己替换下

作者: dahui42666    时间: 2016-10-18 21:00
你要定位“待办公文”是吧
unselectable=on  是你点击了后才出来的  对吧?




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