Selenium Chromedriver не обнаруживает оповещения? - PullRequest
0 голосов
/ 08 мая 2020

В настоящее время я делаю сценарий веб-драйвера selenium для запуска собраний Zoom. Мне удалось сделать это с SafariDriver со следующим кодом:

driver = webdriver.Safari()
driver.get("https://zoom.us/j/0000000000")
try:
    WebDriverWait(driver, 5).until(ec.alert_is_present())
except TimeoutException:
    print("The pop-up alert did not load. Please check your internet connection and try again.")
else:
    driver.switch_to.alert.accept()

Однако, когда я пытаюсь перенести его на Chrome с помощью:

driver = webdriver.Chrome()
driver.get("https://zoom.us/j/0000000000")
try:
    WebDriverWait(driver, 5).until(ec.alert_is_present())
except TimeoutException:
    print("The pop-up alert did not load. Please check your internet connection and try again.")
else:
    driver.switch_to.alert.accept()

Неважно, как долго он ждет, chromedriver никогда не обнаруживает всплывающее окно с предупреждением.

По-видимому, дублирующиеся темы, такие как this , не работают, поскольку chromedriver даже не обнаруживает предупреждение.

Я просмотрел документацию по Selenium webdriver, пытаясь найти другой метод, который может быть полезен, но не нашел его.

Я считаю, что это может быть ошибка в selenium или chromedriver, поскольку код должен портироваться на Chrome но это явно не так.

Я попытался заглянуть в driver.execute_script (), чтобы выполнить некоторые полезные javascript, которые могут принять предупреждение, но мои javascript знания очень ограничены.

Если у кого есть решение, я весь уши! Спасибо!

ПРИМЕЧАНИЕ. В версии Chrome вызов driver.switch_to.alert.accept (), даже после ожидания появления предупреждения, вызывает:

selenium.common.exceptions.NoAlertPresentException: Message: no such alert
  (Session info: chrome=81.0.4044.129)
...