gpt4 book ai didi

java - 如何修复未知错误: unhandled inspector error: "Cannot find context with specified id"

转载 作者:行者123 更新时间:2023-11-30 06:10:09 28 4
gpt4 key购买 nike

以下代码偶尔会抛出 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"}elementiframe 的一部分点击可以导致iframe的内容重新加载。等待时抛出异常。这个异常是什么意思以及如何修复它?

最佳答案

此错误消息...

unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot find context with specified id"}

...意味着WebDriver实例无法找到所需的元素。

正如您在问题中提到的,该元素是 <iframe> 的一部分并调用click()可能会导致 iframe 的内容重新加载,在这种情况下您需要遍历回 defaultContent并再次切换回所需的 iframeWebDriverWait,然后诱导WebDriverWait stalenessOf()上一个元素或存在下一个所需元素,如下所示:

WebElement element = driver.findElement(by);
element.click();
driver.switchTo().defaultContent(); // or driver.switchTo().parentFrame();
new WebDriverWait(driver, 10).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.name("xyz")));
// wait for stalenessOf previous element (visibility of next desired element preferred)
new WebDriverWait(driver, 4, 100).until(ExpectedConditions.stalenessOf(element));
// or wait for visibility of next desired element (preferred approach)
new WebDriverWait(driver, 4, 100).until(ExpectedConditions.visibilityOfElementLocated(next_desired_element));

关于java - 如何修复未知错误: unhandled inspector error: "Cannot find context with specified id",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50429994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com