我有一个下面给出的iframe,我可以遍历iframe,但不能执行任何操作,如遍历或单击框架集内的其他组件或框架。 如何单击框架集内的框架/元素?
<iframe id="selector_window" name="selector_window" src="/webadmin/webeditor/selectormanager_wcm.jsp? width="750" height="450">
<html><head>
<meta http-equiv="pragma" content="no-cache">
</head>
<frameset rows="*,100" border="1" bordercolor="Gray">
<frameset cols="200,200,200" border="1" bordercolor="Gray">
<frame name="selectorlistfilter" src="blank.html" frameborder="1">
<frame name="selectorlist" src="blank.html" frameborder="1">
<frame name="selectorpreview" src="blank.html" frameborder="1">
</frameset>
<frame name="selectorinsert" src="blank.html" marginwidth="2" marginheight="2" frameborder="0">
</frameset>
</html>
</iframe>
答案 0 :(得分:5)
切换到任何框架元素,只需使用driver.switchTo().frame("framename");
一旦我们切换到一帧,如果我们需要切换到另一帧,我们必须切换到父帧。为此使用
driver.switchTo().parentFrame();
如果您使用driver.switchTo().defaultContent();
,则可能无效。
所以去driver.switchTo().parentFrame();
,它运作正常。
答案 1 :(得分:2)
In selenium always follow the sequence. From parent->child1->child2 and again
Webdriver parent = driver.switchTo().frame(0);
Webdriver child1 = driver.switchTo().frame(1);
Webdriver child2= driver.switchTo().frame(2);
going back to parent
driver.switchTo().frame(1)
driver.switchTo().defaultcontent();