Python Windows身份验证用户名和密码无效
我试图在提示符中输入数据(给出URL),下面的代码给了我一个错误。请帮我弄一下这些Python Windows身份验证用户名和密码无效,python,selenium,selenium-webdriver,windows-authentication,basic-authentication,Python,Selenium,Selenium Webdriver,Windows Authentication,Basic Authentication,我试图在提示符中输入数据(给出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-inter
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
您可以通过在url
本身中嵌入用户名和密码来绕过基本身份验证弹出窗口,如下所示
此解决方案打开URL
,并使用有效的用户名
和密码
凭据进行身份验证
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")
当您使用Selenium 3.4.0时,geckodriver v0.18.0,Mozilla Firefox 53.0
通过Python 3.6.1
您可以通过在url
本身中嵌入用户名和密码来绕过基本身份验证弹出窗口,如下所示
此解决方案打开URL
,并使用有效的用户名
和密码
凭据进行身份验证
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")
上述代码也已正确使用:)
上面的代码也正常工作:)不确定这是否是您的问题,但我看到的第一件事是您忘记了alert=driver中的“()”。切换到.alert()已尝试:alert=driver。切换到.alert()TypeError:“alert”对象不可调用
不确定这是否是您的问题,但我看到的第一件事是您忘记了“()”在alert=driver.switch_to.alert()中尝试:alert=driver.switch_to.alert()TypeError:“Alert”对象不可调用
FWIW:嵌入的凭据将仅部分使用chrome v59+工作,因为子资源请求将被阻止。FWIW:嵌入的凭据将仅部分使用chrome v59+工作,因为子资源请求将被阻止。上述代码现在是否工作?我发现同样一段对我来说运行良好的代码现在不起作用了。我问了一个同样的问题,上面的代码现在工作了吗?我发现同样一段对我来说运行良好的代码现在不起作用了。我在这里问了同样的问题