尝试在页面中查找并切换到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
[]
最佳答案
Selenium 的编写不允许与隐藏元素交互。 其背后的想法是,如果一个人无法执行某项操作,那么 Selenium 也不能。 由于您的两个 iframe 都被隐藏,selenium 无法识别这些元素。
但是,您可以将 Javascript 与 Selenium 结合使用来与隐藏元素进行交互。
关于java - 无法使用 selenium 识别 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389182/