以下代码偶尔抛出org.openqa.selenium.WebDriverException
。
WebElement element = driver.findElement(by);
element.click();
(new WebDriverWait(driver, 4, 100)).until(ExpectedConditions.stalenessOf(element));
页面如下所示(by <a></a>
)
<iframe name="name">
<html id="frame">
<head>
...
</head>
<body class="frameA">
<table class="table">
<tbody>
<tr>
<td id="83">
<a></a>
</td>
</tr>
</tbody>
</table>
</body>
</html>
</iframe>
消息为unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot find context with specified id"}
。 element
是iframe
的一部分,点击可能会导致iframe
的内容重新加载。等待时会抛出异常。这个例外意味着什么,我该如何解决?
答案 0 :(得分:1)
此错误消息......
unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot find context with specified id"}
...意味着 WebDriver 实例无法找到所需的元素。
正如您在问题中提到的那样,该元素是<iframe>
的一部分,调用click()
会导致iframe的内容重新加载,在这种情况下,您需要遍历{{1再次使用 WebDriverWait 再次切换回所需的defaultContent
,然后为iframe
上一个元素或下一个 WebDriverWait >所需元素如下:
stalenessOf()