Chome 61,ChromeDriver 2.32点击移动设备模拟器的元素抛出WebDriverException:未知错误:元素在点上无法点击

meg*_*ces 6 selenium google-chrome selenium-chromedriver

我的测试完全适用于Chrome 60和ChromeDriver 2.31,但在Chrome更新到61版后,我不得不将ChromeDriver更新为2.32.现在我得零星的org.openqa.selenium.WebDriverException:未知错误:在点(X,Y)处无法点击元素 - 在为"iPhone 6 Plus"浏览器模式等移动设备模拟器运行的所有测试中,

例如.

作为一种解决方法,我可能会在点击之前使用滚动到元素,但它只是一个快速解决方案,最好知道这个问题来自何处.这是当前最新的Chrome和驱动程序版本的问题吗?它会很快修复吗?

问题在本地和远程webdriver上都会重现.

堆栈跟踪:

org.openqa.selenium.WebDriverException:未知错误:元素在点(182,3724)不可点击(会话信息:chrome = 61.0.3163.91)
(驱动程序信息:chromedriver = 2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform = Windows NT 10.0 .15063 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:115毫秒构建信息:版本:'3.4.0',修订版:'未知',时间:'未知'系统信息:主机: 'xxx',ip:'10 .100.8.33',os.name:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'1.8.0_131'驱动程序信息:org .openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled = false,rotate = false,mobileEmulationEnabled = true,networkConnectionEnabled = false,chrome = {chromedriverVersion = 2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),userDataDir = C:\ Users\xxx\AppData\Local\Temp\scoped_dir5912_31757},takeHeapSnapshot = true,pageLoadStrategy = normal,databaseEnabled = false,handlesAlerts = true,hasTouchScre en = true,version = 61.0.3163.91,platform = XP,browserConnectionEnabled = false,nativeEvents = true,acceptSslCerts = true,locationContextEnabled = true,webStorageEnabled = true,browserName = chrome,takesScreenshot = true,javascriptEnabled = true,cssSelectorsEnabled = true, setWindowRect = true,unexpectedAlertBehaviour = dismiss}]会话ID:2ead932fef8d0d923286ac41c8fffe50命令持续时间或超时:257毫秒

我想这与https://bugs.chromium.org/p/chromedriver/issues/detail?id=1852有关

iam*_*p89 0

对此有替代解决方案:

首先最大化窗口:

driver.manage().window().maximize();
Run Code Online (Sandbox Code Playgroud)

其次,您可以使用 Action 类来moveToElement方法和访问它

WebElement element = driver.findElement(By("element"));
Actions action = new Actions(driver);
action.moveToElement(element).click().perform();
Run Code Online (Sandbox Code Playgroud)