WebDriverException: неизвестная ошибка: document.getBoxObjectFor не является функцией, использующей Selenium с ChromeDriver и Chrome через Java - PullRequest
1 голос
/ 27 апреля 2019

При нажатии на элемент в браузере 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 Ответ

1 голос
/ 27 апреля 2019

Это сообщение об ошибке ...

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 Browser сеанс.

Ваша главная проблема - несовместимость между используемой вами версией двоичных файлов:

  • Вы используете chromedriver = 2,42
  • Примечания к выпуску chromedriver = 2,42 четко упоминает следующее:

Поддержка Chrome v68-70

  • Вы используете chrome = 73.0
  • Примечания к выпуску ChromeDriver v2.46 четко упоминает следующее:

Поддержка Chrome v71-73

Таким образом, существует явное несоответствиемежду ChromeDriver v2.42 и Chrome Browser v73.0

Решение

  • Обновление ChromeDriver до текущей ChromeDriver v2.46 level.
  • Keep Chrome версия между Chrome v71-73 уровней.( в соответствии с примечаниями к выпуску ChromeDriver v2.46 )
  • Если ваша базовая веб-клиент версия устарела, удалите ее и установите последнюю версию GA и выпущенную версию Веб-клиент .
  • Всегда вызывайте driver.quit() в методе tearDown(){}, чтобы изящно закрыть и уничтожить экземпляры WebDriver и Веб-клиент .
...