我正在尝试选择一个位于 iframe 中的元素,并且可能位于其他 iframe 中。
是否有可能在(python)selenium 中的某个(子)iframe 中选择一个元素而不选择之前的 iframe?有没有办法以某种方式“循环”每个 iframe 并检查在哪里可以找到我的元素......?
以及如何在 case 元素和 html 内容以及 iframe 可能只是加载...的情况下做到这一点?
我正在尝试单击链接,但遇到了困难。相关的HTML代码是:
<div id="adHocAddDocDiv" style="display: block;">
<a href="javascript:hideDiv();" style="color:#000">
Close window
</a>
<table border="0">
<tbody></tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
对于代码,我有:
driver.findElement(By.xpath("//*[@id='adHocAddDocDiv']/a")).click();
Run Code Online (Sandbox Code Playgroud)
这确实找到了正确的元素,但是它似乎没有执行 JavaScript 来关闭我手动单击链接时发生的窗口。有任何想法吗?
更新:这是最终起作用的代码:
WebElement element = driver.findElement(By.xpath("//[@id='adHocAddDocDiv']/a"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
Run Code Online (Sandbox Code Playgroud)