Как отключить всплывающие окна / оповещения в Brave / Chrome с помощью Selenium, не используя alert.accept ()? - PullRequest
0 голосов
/ 23 апреля 2020

Я не могу использовать alert.accept(), так как моя программа автоматически расфокусируется, прежде чем она сможет работать (она должна проверять и другие вещи).

Мне вообще не нужны всплывающие окна, но я не знаю, как их напрямую отключить, что важно, поскольку они мешают мне закрыть вкладку. Мне не удалось найти ответы, которые не включают alert.accept() и не используют python.

Могу ли я сделать это? Если нет, есть ли обходные пути для моей ситуации? (Если нет программы, которую я пытаюсь сделать, невозможно.)

1 Ответ

0 голосов
/ 23 апреля 2020

Как говорит этот вопрос , пока вы в порядке, блокируя все оповещения, вы можете просто переопределить alert(). Вот пример в Python:

from selenium import webdriver

driver=webdriver.Firefox()
driver.implicitly_wait(3)
driver.get("http://example.com")
js = "window.alert = function() {}"
driver.execute_script(js)

Или, поскольку предупреждение появляется при закрытии страницы, вы можете попробовать это:

from selenium import webdriver

driver=webdriver.Firefox()
driver.implicitly_wait(3)
driver.get("http://example.com")
js = "window.onbeforeunload = null"
driver.execute_script(js)
...