我遇到以下错误:
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是否需要添加任何功能?
硒包装从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();
答案 0 :(得分:0)
在使用Chrome驱动程序版本77.0.3865.40时遇到相同的错误。
但是这次,尝试在框架内查找元素时发生错误。 (在使用driver.SwitchTo()。Frame([iframe IWebElement]);之后)
某些帧会发生这种情况,而其他帧不会发生。
我能弄清的唯一解决方法是注入javascript以完成框架内需要实现的工作。例如,单击一个按钮...
((IJavaScriptExecutor) driver).ExecuteScript("arguments[0].contentWindow.document.findElementsByTagName('button')[0].click();", [iframe IWebElement]);
如果有人可以首先阐明此错误的原因以及真正的解决方法,那将是很好的。
答案 1 :(得分:0)
当重新定义javascript的object.prototype或打开新窗口并重新定义window.symbol时,会发生这种情况。因此,最新的chromedriver版本在定位元素时存在问题。 Chromedriver暂时不打算解决此问题,因此似乎只剩下使用javascript。 请阅读以下内容: https://bugs.chromium.org/p/chromedriver/issues/detail?id=3390