Селен: не работает, чтобы закрыть окно оповещений - PullRequest
0 голосов
/ 02 апреля 2020

Когда я открываю страницу, появляется окно предупреждения, и я хочу отклонить его, но я пробовал каждое предлагаемое решение, но ничего не помогло. Я попробовал следующие команды сразу после self.get(url)

driver.execute_script("window.alert = function() { return true; }")
driver.switch_to.alert().dismiss()
            try:
                WebDriverWait(driver, 10).until(EC.alert_is_present(),
                                                 'Timed out')

                alert = driver.switch_to.alert
                alert.dismiss()
            except TimeoutException:
                print("There is no alert window.")

Я использую драйвер chrome. Мой chrome обновлен, и у меня установлена ​​последняя версия селена

enter image description here

1 Ответ

1 голос
/ 03 апреля 2020

Похоже, вы пытаетесь закрыть это оповещение на веб-сайте zoom. Я обнаружил, что этот специфический c вид оповещения управляется ОС ( Selenium C# Как обрабатывать оповещение «Open Pick a app»? ).

К счастью, есть это обходной путь. Вы можете просто смоделировать ENTER с другой библиотекой. Я попробовал это здесь, и это сработало.

from pynput.keyboard import Key, Controller

try:
    driver.get("https://zoom.us/j/7927928053?_x_zm_rtaid=dn4yDpeITbyXA8CmfOtPbA.1585865584355.d6bc70631d24610d94512df4caf63e47&_x_zm_rhtaid=65")
    try:
        sleep(4)
        keyboard.press(Key.enter)
        keyboard.release(Key.enter)
        sleep(4)
    except Exception:
        traceback.print_exc()
        print("There is no alert window.")
except Exception:
    pass

Мне пришлось удалить ваши ожидания, извините за это:)

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...