我正在尝试在提示符(给定的 URL)中输入数据,下面的代码给我一个错误。请帮我解决这些问题?
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
url = "http://the-internet.herokuapp.com/basic_auth"
driver.get(url)
time.sleep(5)
alert = driver.switch_to.alert
alert.authenticate('admin','admin')
time.sleep(4)
alert.accept()
我试过:
ActionChains(driver).send_keys("admin").send_keys(Keys.TAB).send_keys("admin").perform()
这个也不行。
最佳答案
当您使用 Selenium 3.4.0
、geckodriver v0.18.0
时,Mozilla Firefox 53.0
通过 Python 3.6.1
你可以绕过 Basic Authentication
通过在 url
本身中嵌入 username
和 password
来弹出,如下所示。
此解决方案打开 URL
http://the-internet.herokuapp.com/basic_auth 并使用有效的 username
和 password
凭据进行身份验证。
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get("http://admin:admin@the-internet.herokuapp.com/basic_auth")
关于Python Windows 身份验证用户名和密码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328654/