WebDriverException:未知错误:document.getBoxObjectFor不是将Selenium与ChromeDriver和Chrome通过Java一起使用的函数

时间:2019-04-27 06:11:50

标签: java selenium google-chrome webdriver selenium-chromedriver

在chrome浏览器中的selenium-testng中单击元素时:

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(); 

在上述功能中,驱动程序应单击并导航至下一页。

1 个答案:

答案 0 :(得分:1)

此错误消息...

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的发行说明中明确提到以下内容:
  

支持 Chrome v68-70

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

支持 Chrome v71-73

因此 ChromeDriver v2.42 Chrome浏览器v73.0

之间存在明显的不匹配

解决方案

  • ChromeDriver 升级到当前的ChromeDriver v2.46级别。
  • Chrome 版本保持在 Chrome v71-73 级别之间。 (as per ChromeDriver v2.46 release notes
  • 如果您的基本 Web客户端版本太旧,则将其卸载并安装最新版本的 Web客户端 GA。
  • 始终在driver.quit()方法内调用tearDown(){},以优雅地关闭和销毁 WebDriver Web Client 实例。