Python Windows身份验证用户名和密码不起作用
- 2024-12-26 08:43:00
- admin 原创
- 151
问题描述:
我尝试在提示符(给定 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()
这个也不起作用。
解决方案 1:
当您使用Selenium 3.4.0
、、到时geckodriver v0.18.0
,您可以通过在本身中嵌入和来绕过弹出窗口,如下所示。Mozilla Firefox 53.0
Python 3.6.1
Basic Authentication
username
`password`url
此解决方案打开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")
解决方案 2:
def test_1_authentication(self):
self.driver.get("https://the-internet.herokuapp.com/basic_auth")
shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{TAB}")
time.sleep(3)
shell.Sendkeys("admin")
time.sleep(3)
shell.Sendkeys("{ENTER}")
time.sleep(3)
上述代码也能正常工作:)
解决方案 3:
您还可以使用PyAutoGui
:
pip3 install pyautogui
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import pyautogui
driver = webdriver.Chrome()
driver.get("htt`enter code here`p://95.141.198.238/noload2/files/074/UTF-
RSLOAD.NET-.zip")
pyautogui.write('rsload.net') # login
pyautogui.press('tab') # Tab
pyautogui.write('rsload.net') # pass
pyautogui.press('enter') # Enter
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD