我想使用Python3-Selenium访问网站。但是,为了访问我的目标网站,我必须通过身份验证页面。
例如,我要访问的网址目标网站是https://target_website.com。鉴于身份验证页面的网址为https://example.example.com/ab/cd/ef
以下是该页面的示例:
正如您从上图中看到的那样,我必须:
尝试了以下代码,但没有用。
browser = webdriver.Chrome('path_to_exe')
wait = WebDriverWait(browser, 600)
browser.get('https://target_website.com')
wait.until(EC.alert_is_present())
browser.get('https://<username>:<password>@example.example.com/ab/cd/ef')
尝试了以下代码,仍然无效。
browser = webdriver.Chrome('path_to_exe')
wait = WebDriverWait(browser, 600)
browser.get('https://target_website.com')
wait.until(EC.alert_is_present())
browser.get('https://<username>:<password>@example.example.com')
最后,我尝试了以下代码,但它再次无效。
browser = webdriver.Chrome('path_to_exe')
wait = WebDriverWait(browser, 600)
browser.get('https://target_website.com')
wait.until(EC.alert_is_present())
alert = browser.switch_to_alert()
alert.authenticate('<username>', '<password>')
alert.accept()
答案 0 :(得分:2)
尝试使用以下内容:
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox('path_to_exe')
wait = WebDriverWait(browser, 10)
browser.get('https://target_website.com')
alert = wait.until(EC.alert_is_present())
alert.send_keys('username' + Keys.TAB + 'password')
alert.accept()
请注意,此方法仅适用于Firefox