selenium2 定位元素怎么写代码
本帖最后由 王开颜 于 2016-9-22 10:23 编辑求各位大神指导C:\Users\Administrator\Desktop\QQ截图20160921174135.png 可以把你具体遇到的问题描述下吗? 掉渣饼 发表于 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(); 例:driver.find_element_by_id("kw").send_keys("selenium2")
driver.find_element_by_id("su").click() 梦想家 发表于 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;"> 直接定位xpath理解吧 tarooops 发表于 2016-9-22 16:01
直接定位xpath理解吧
试过失败了 王开颜 发表于 2016-9-22 17:24
试过失败了
登陆后有跳转页面或新开页面吗?(切换句柄)
另外操作的元素是不是在ifame框架内?(切换ifame) 王开颜 发表于 2016-9-22 10:52
我登录进来了 下一步要点击待办公文 就没办法执行了
driver.findElement(By.name("userId") ...
有没有提示错误?你可以试试直接路径,这样定位应该可以。 若尘_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)
大概就是这个意思,你试试! 首先检查html代码,看看要定位的元素是否父级是否有frame元素,
如果有,就先定位frame元素,然后使用 driver.switchTo().frame(""),跳转到frame里,然后再定位你下边的元素
//*[@class='AAAAAA']
AAAAAAA你自己替换下
你要定位“待办公文”是吧
unselectable=on是你点击了后才出来的对吧?
页:
[1]