无法使用硒识别iframe

时间:2019-10-15 07:17:11

标签: java html selenium

试图在页面中查找并切换到 iframe ,但iframe的数量显示为0。

iframe以html代码显示。

HTML代码:

<iframe id="walkme-native-functions" style="display: none; position: absolute;"></iframe>
<iframe id="walkme-proxy-iframe" src="about:blank" style="display: none; visibility: hidden;"></iframe>

Java代码:

 List<WebElement> frames=chromeSelDriver.findElements(By.tagName("iframe"));
 System.out.println(frames.size());
 System.out.println(frames);
 chromeSelDriver.switchTo().frame(0);

HTML代码:

<iframe id="walkme-native-functions" style="display: none; position: absolute;"></iframe>
<iframe id="walkme-proxy-iframe" src="about:blank" style="display: none; visibility: hidden;"></iframe>

Java代码的输出:

0
[]

1 个答案:

答案 0 :(得分:0)

硒的编写不允许其与隐藏元素进行交互。 其背后的思想是,如果一个人不能执行某项操作,那么硒也不能。 由于两个iframe都是隐藏的,因此硒无法识别这些元素。

但是,您可以将Javascript与Selenium结合使用来与隐藏元素进行交互。