【问题标题】:Invalid argument: Unsupported locator strategy: null - with chrome driver 76.0.3809.126无效参数:不支持的定位器策略:null - 使用 chrome 驱动程序 76.0.3809.126
【发布时间】:2023-03-10 08:41:01
【问题描述】:

我收到以下错误:

invalid argument: Unsupported locator strategy: null
  (Session info: chrome=76.0.3809.132)
  (Driver info: chromedriver=76.0.3809.126 
  (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024}),
   platform=Windows NT 10.0.18362 x86_64)

在运行我的测试时,相同的代码在 chromedriver-75.0.3770.8 上运行良好。 chrome驱动76.0.3809.126有什么需要增加的功能吗?

将 selenium 包从 3.7.0 升级到 3.7.10 但没有运气。

将 chrome 驱动程序降级到 775.0.3770.8 并且运行良好。

尝试添加SetCapability(CapabilityType.AcceptSslCertificates, true);,但没有成功

driver.findElement(By.XPath("//div[@class='toggle__nav']/span")).click();

【问题讨论】:

    标签: c# selenium google-chrome selenium-webdriver selenium-chromedriver


    【解决方案1】:

    我在使用 chrome 驱动程序版本 77.0.3865.40 时遇到了同样的错误。

    但这一次错误发生在试图在框架内查找元素时。 (使用 driver.SwitchTo().Frame([iframe IWebElement]);)

    某些帧会发生这种情况,而其他帧不会发生这种情况。

    我能想到的唯一解决方法是注入 javascript 来完成框架内需要实现的任务。例如,点击一个按钮...

    ((IJavaScriptExecutor) driver).ExecuteScript("arguments[0].contentWindow.document.findElementsByTagName('button')[0].click();", [iframe IWebElement]);
    

    如果有人能阐明为什么首先会出现此错误以及真正的解决方法是什么,那就太好了。

    【讨论】:

      【解决方案2】:

      当 javascript 的 object.prototype 被重新定义或新窗口打开并且 window.symbol 被重新定义时,就会发生这种情况。因此,最新的 chromedriver 版本在定位元素时存在问题。 Chromedriver 不打算很快解决这个问题,因此看起来使用 javascript 是唯一的选择。 请阅读: https://bugs.chromium.org/p/chromedriver/issues/detail?id=3390

      【讨论】:

        猜你喜欢
        • 2019-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        • 2021-09-21
        • 1970-01-01
        相关资源
        最近更新 更多