WebDriverException:未知错误:document.getBoxObjectFor 不是使用 Seleni



在硒测试中单击chrome浏览器中的元素时:

org.openqa.selenium.WebDriverException: unknown error: document.getBoxObjectFor is not a function
(Session info: chrome=73.0.3683.103)
(Driver info: chromedriver=2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)

显示为错误

我试过了:

wait.until(ExpectedConditions.stalenessOf(element));

代码试用:

public void clickHERE(String deal) throws Throwable
{   
driver.findElement(By.xpath(HERE)).click();
driver.findElement(By.xpath(enterDeal)).sendKeys(deal);
driver.findElement(By.xpath(searchButtonDCP)).click();
scrollToElement(driver, nextTabDealInfo);
driver.findElement(By.xpath(nextTabDealInfo)).click();
}

对于第一行代码:

driver.findElement(By.xpath(HERE)).click(); 

在上面的函数中,驱动程序应单击并导航到下一页。

此错误消息...

org.openqa.selenium.WebDriverException: unknown error: document.getBoxObjectFor is not a function
(Session info: chrome=73.0.3683.103)
(Driver info: chromedriver=2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)

。暗示ChromeDriver无法与WebBrowser(即Chrome浏览器会话)通信。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 您正在使用chromedriver=2.42
  • chromedriver=2.42的发行说明明确提到了以下内容:

支持铬 v68-70

  • 您正在使用的 chrome=73.0
  • ChromeDriver v2.46的发行说明明确提到了以下内容:

支持铬 v71-73

因此,ChromeDriver v2.42和Chrome浏览器v73.0之间存在明显的不匹配

溶液

  • ChromeDriver升级到当前的ChromeDriver v2.46级别。
  • 将 Chrome版本保持在 Chrome v71-73级别之间。(根据ChromeDriver v2.46发行说明)
  • 如果基本 Web 客户端版本太旧,请将其卸载并安装最新的 GA 和已发布版本的Web 客户端
  • 始终在方法中调用driver.quit()tearDown(){}以正常关闭和销毁WebDriverWeb 客户端实例。