Alert Python Selenium, Chrome WebDriver: переключение на предупреждение не работает - PullRequest
0 голосов
/ 29 марта 2020

Отклонение оповещения не работает. Каждый раз я получаю сообщение об ошибке, я использую python и работаю с chrome webdriver. Передача логина и пароля работает нормально.

Я был бы очень признателен за помощь :) Спасибо: D

from selenium import webdriver
import time
browser = webdriver.Chrome('My chromedriver path')
a = 1
while a == 1:
try:

browser.get('https://www.facebook.com/')
time.sleep(2)
l = browser.find_element_by_id('email')
l.send_keys('myphonenumber')
l = browser.find_element_by_id('pass')
l.send_keys('myspassword')
l = browser.find_element_by_id('loginbutton')
l.click()
time.sleep(7)

#code works to here and then breaks with error  

b = browser.switch_to.alert()
b.dismiss()
time.sleep(2)

l = browser.find_element_by_xpath('//*[@id="js_9p"]/div/div/ul/li[1]/a')
time.sleep(2)
l.click()

except:
print('error occured, trying again')

Это ошибка, которую я получаю:

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoAlertPresentException: 
Message: no such alert
  (Session info: chrome=80.0.3987.149)

1 Ответ

0 голосов
/ 29 марта 2020

Попробуйте использовать chrome_options, это подавит уведомление.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

options = webdriver.ChromeOptions()
preferences = {"profile.default_content_setting_values.notifications" : 2}
options.add_experimental_option("prefs", preferences)

browser = webdriver.Chrome(chromedriver, chrome_options=options)
browser.get('https://www.facebook.com/')
time.sleep(2)
l = browser.find_element_by_id('email')
l.send_keys('username')
l = browser.find_element_by_id('password')
l.send_keys('password')
l = browser.find_element_by_id('loginbutton')
l.click()
time.sleep(7)

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