【问题标题】:Chrome Webdriver version 106 goes into exception > uniqueContextId not foundChrome Webdriver 版本 106 出现异常 > 未找到 uniqueContextId
【发布时间】:2023-02-02 06:16:37
【问题描述】:

ElementExist exception

我最近更新了铬合金及其网络驱动程序从版本103版本106.包含在所附图像中的这段代码以前可以正常工作,现在出现异常并显示以下错误消息:

“OpenQA.Selenium.WebDriverException:参数无效:未找到 uniqueContextId(会话信息:chrome=106.0.5249.62)”

我发现例外抛出如下ExpectedConditions.ElementExists(loadingLocator)

有没有人有建议或已经遇到所描述的问题?

谢谢

【问题讨论】:

  • 您应该为出现错误的元素添加 HTML 源。另外,根据您的浏览器版本,您的 chrome binary 是最新的吗?

标签: exception selenium-chromedriver webdriver


【解决方案1】:

在我看来,您的驱动程序(Chrome、chromedriver 和 Selenium)本身运行良好。也许该网站更改了它的 HTML(随着时间的推移或者因为它检测到您使用的是不同的版本)

您的 XPATH 可能在以下位置无效:

By loadingLocator = By.XPATH("//canvas[@id='opcenter-modal-overlay-spinner']");

如果你至少能提供给我源代码(ctrl+u) 或网页网址,我可以查看它并编辑我的答案。

另外,请在code-block而是作为屏幕截图。

【讨论】:

    【解决方案2】:

    当涉及到建议而不是 100% 确定的答案时,我会检查定位器是否始终是唯一的。错误消息指出“未找到 uniqueContextId”,因此定位器匹配的唯一性可能很重要。

    你可以尝试这样的事情:

    IList<IWebElement> elements = driver.FindElements(loadingLocator);
    

    并调查元素的数量。然而,这只是一个猜测。

    此外,我会仔细检查 ChromeDriver 的版本,但我假设您在发布问题之前已经这样做了。

    【讨论】: