王开颜 发表于 2016-9-22 10:21:46

selenium2 定位元素怎么写代码

本帖最后由 王开颜 于 2016-9-22 10:23 编辑

求各位大神指导C:\Users\Administrator\Desktop\QQ截图20160921174135.png

掉渣饼 发表于 2016-9-22 10:40:30

可以把你具体遇到的问题描述下吗?

王开颜 发表于 2016-9-22 10:52:47

掉渣饼 发表于 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("//*")).click();

梦想家 发表于 2016-9-22 11:49:57

例:driver.find_element_by_id("kw").send_keys("selenium2")
driver.find_element_by_id("su").click()

王开颜 发表于 2016-9-22 13:51:53

梦想家 发表于 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:50

直接定位xpath理解吧

王开颜 发表于 2016-9-22 17:24:31

tarooops 发表于 2016-9-22 16:01
直接定位xpath理解吧

试过失败了

若尘_51 发表于 2016-9-22 17:30:14

王开颜 发表于 2016-9-22 17:24
试过失败了

登陆后有跳转页面或新开页面吗?(切换句柄)
另外操作的元素是不是在ifame框架内?(切换ifame)

芒果go 发表于 2016-9-23 09:28:33

王开颜 发表于 2016-9-22 10:52
我登录进来了   下一步要点击待办公文   就没办法执行了
      driver.findElement(By.name("userId") ...

有没有提示错误?你可以试试直接路径,这样定位应该可以。

芒果go 发表于 2016-9-23 10:21:27

若尘_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:59

首先检查html代码,看看要定位的元素是否父级是否有frame元素,
如果有,就先定位frame元素,然后使用 driver.switchTo().frame(""),跳转到frame里,然后再定位你下边的元素

dahui42666 发表于 2016-10-18 20:58:38

//*[@class='AAAAAA']
AAAAAAA你自己替换下

dahui42666 发表于 2016-10-18 21:00:00

你要定位“待办公文”是吧
unselectable=on是你点击了后才出来的对吧?
页: [1]
查看完整版本: selenium2 定位元素怎么写代码