51Testing软件测试论坛
标题:
selenium 嵌套frame定位问题
[打印本页]
作者:
六月长青
时间:
2014-2-28 15:41
标题:
selenium 嵌套frame定位问题
页面有三个frame:top,left,main。结构如下述代码所示。要定位到 left frame 应该如何操作?
[attach]89364[/attach]
<html>
<head><title>窗口应用案例</title></head>
<frameset rows="30%,*" border="5">
<frame src="top.html" name="top" />
<frameset cols="30%,*">
<frame src="left.html" name="left"/>
<frame src="main.html" name="main"/>
</frameset>
</frameset><noframes></noframes>
</html>
复制代码
可以定位frame("top"),但是继续定位到frame("left")。则抛出异常NoSuchFrameException。
driver.switchTo().frame("top");
driver.findElement(By.name("message")).sendKeys("top");
复制代码
driver.switchTo().defaultContent();
driver.switchTo().frame("left");
复制代码
作者:
maomao121
时间:
2014-3-1 05:44
试试看去掉driver.switchTo().defaultContent();
作者:
六月长青
时间:
2014-3-3 10:08
回复
2#
maomao121
去掉也还是不行的。
作者:
joykao
时间:
2014-3-3 14:43
和层级结构有关吗?top和left不在同一层级?
作者:
maomao121
时间:
2014-3-4 06:49
要不在driver.switchTo().frame("left")之前, 先用find element定位一下第二个frameset,看看能不能定位到
作者:
六月长青
时间:
2014-3-4 09:46
【问题初步解决】
与层次结构有关。left 在嵌套的framset下。直接driver.switchTo().frame("left")找不到。
但是用find element 定位找到了。
driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.name("left")));
作者:
liyanone2006
时间:
2014-4-2 11:30
学习了
作者:
kikloly
时间:
2016-3-24 16:58
用find_by_name 也终于定位到main Frame了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2