51Testing软件测试论坛
标题:
【已解决】求助,请看看这个DIV层下的元素selenium-webdriver如何获取?
[打印本页]
作者:
vipwork
时间:
2012-10-10 10:44
标题:
【已解决】求助,请看看这个DIV层下的元素selenium-webdriver如何获取?
本帖最后由 vipwork 于 2012-10-11 16:54 编辑
请大家帮忙看看用什么定位器可以获取到红框内的<a>元素。这个是一个第三级菜单来的,请看图
[attach]81659[/attach]
[attach]81660[/attach]
作者:
vipwork
时间:
2012-10-11 16:40
问题解决了。解决的方法如下:
WebElement menu3 = driver.findElement(By.xpath("//a[@class='x-menu-item' and text()='流程']"));
actions.moveToElement(menu3);
actions.perform();
复制代码
当另一个问题又出现了,这个movetoelement方法非常不好用,貌似作用只是模拟鼠标滑过这个链接而已,并不能达到mouseover的效果,即鼠标停放在这个链接上的效果
作者:
vipwork
时间:
2012-10-11 16:53
经过两天不懈的努力,终于找到方法了。看来还是api看得太少啊。用下面代码可以模拟鼠标停放在链接上的效果。
WebElement menu1 = driver.findElement(By.xpath("//a[@class='white' and text()='一级菜单']"));
//actions.moveToElement(menu1);
actions.clickAndHold(menu1);
actions.perform();
WebElement menu2 = driver.findElement(By.xpath("//a[text()='二级菜单']"));
//actions.moveToElement(menu2);
actions.clickAndHold(menu2);
actions.perform();
Thread.sleep(1000);
driver.findElement(By.xpath("//a[@class='x-menu-item' and text()='三级菜单']")).findElement(By.xpath("..")).click();
driver.findElement(By.xpath("//a[@class='x-menu-item' and text()='三级菜单']")).click();
复制代码
作者:
vipwork
时间:
2012-10-12 10:29
再次回来说明一下,3楼贴的解决方法是有缺陷的。不过这个是selenium2与IE的兼容性问题。简答来说,当使用InternetExplorerDriver时,使用上面方法时,鼠标指针不能放在浏览器内,否则,将造成最后一步:
driver.findElement(By.xpath("//a[@class='x-menu-item' and text()='三级菜单']")).click();
复制代码
click第三级菜单抛异常:ElementIsNotVisibalException
具体可以参考下面贴中jim evans的回答:
https://groups.google.com/forum/ ... bdriver/WeuSwYemM4E
所以,在回放脚本使,鼠标指针最好停放在任务栏上,不过如果你不是用IE而是用FIREFOX的话,倒不用担心这个问题。其实说到底就是selenium2限制了fireeven的方法,实在是相当的不方便。另外,可以在selenium2中使用selenium1的方法:
ISelenium selenium = new WebDriverBackedSelenium(driver, baseURL);
selenium.Start();
selenium.MouseOver(xpathA);
复制代码
作者:
pcxty
时间:
2013-1-6 23:51
不错
作者:
testingWJZ
时间:
2016-5-24 10:01
用select 啥
作者:
testingWJZ
时间:
2016-5-24 10:06
Select select =new Select(driver.findElement(By.id("***")));
select.selectByVisibleText("流程");
你试试这种方式
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2