У меня был тест, написанный на 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, оригинал и тот, на который я переключился.
Никаких других поисков не найдено.