В настоящее время я делаю сценарий веб-драйвера 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)