我正在尝试在提示符(URL Given)中输入数据,下面的代码给我一个错误。请帮我解决这些问题?
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()
这个也没有用。
答案 0 :(得分:7)
使用 Selenium 3.4.0
, geckodriver v0.18.0
, Mozilla Firefox 53.0
至 { {1}} 您可以通过将Python 3.6.1
和Basic Authentication
嵌入username
本身来绕过 password
弹出窗口,如下所示。
此解决方案会打开url
http://the-internet.herokuapp.com/basic_auth ,并使用有效的URL
和username
凭据进行身份验证。
password
答案 1 :(得分:0)
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)
以上代码也正常工作:)