Не удается определить статус загрузки в Google Maps - PullRequest
0 голосов
/ 25 апреля 2019

У меня был тест, написанный на Java и Selenium, который в основном выполняет поиск провайдера. Затем он нажимает на ссылку поставщика Map This Location и открывает карту Google. Я бы дождался видимости xpath для этой карты после перехода в новое окно.

URL будет выглядеть примерно так:

https://www.google.com/maps/dir//945+N+12th+St,+Milwaukee,+WI+53233/@43.0426642,-87.9297109,17z/data=!4m8!4m7!1m0!1m5!1m1!1s0x88051979232b79cd:0x905e19b746c46eb3!2m2!1d-87.9275222!2d43.0426642

Это работает нормально в течение года. Сегодня мы получили обновление до версии Chrome 74.0.3729.108 (Официальная сборка) (64-разрядная версия), поэтому мы заменили наш старый Chromedriver (который теперь выдавал нам ошибку, что версия Chrome должна быть между 70 и 73) на 74.0.3729.6. который наш главный разработчик скачал с сайта.

Проблема в том, что теперь, и только для определенных адресов, я получаю эту ошибку неизвестная ошибка: невозможно определить состояние загрузки из такого контекста выполнения

Предлагаются некоторые пункты переполнения стека

 1. Updating the Chrome Driver
 2. Using a longer timeout

как вы можете видеть сверху, мы обновили наш chromedriver в соответствии с версией Chrome. Я также обновил время ожидания до 300 секунд (5 минут), но все напрасно.

У меня нет идей о том, что еще может быть причиной проблемы. Xpath, которого я ждал, был // div [@ aria-label = 'Map'] , но сейчас я пробовал и другие xpath, такие как "// div [@ id = 'streetviewcard']". Я проверил, что окно, на которое я переключился, было driver.getWindowHandles (). Get (1). Я сохранил оригинальную ручку, чтобы я мог переключиться обратно. Я посмотрел на все оконные ручки, и их было только 2, оригинал и тот, на который я переключился.

Никаких других поисков не найдено.

1 Ответ

0 голосов
/ 26 апреля 2019

У меня была точно такая же ошибка, переход на v74.

Что-то должно было измениться с помощью chromedriver или chrome - я предполагаю, что при открытии новой вкладки выполнение продолжается раньше, чем раньше. Трудно сказать, что на самом деле изменилось, но в итоге я исправил наши проблемы со сном:

Кроме того, стоит отметить, что getWindowHandles () возвращает в неопределенном порядке - поэтому может потребоваться дополнительная обработка в зависимости от вашего варианта использования.

https://github.com/dvsa/mot-automated-testsuite/compare/ops-OPSTEAM-2827-selenium#diff-1fa0893dd1ad67d9c1a4ee1e777c20cb

...