我下面的Windows身份验证代码运行了一年多.但是在过去的几天里现在工作的时间更长了.我无法确定具体原因.
from selenium import webdriver
import time
import win32com.client
driver=webdriver.Chrome('D:/Software/BrowsersDriver/ChromeDriver/chromedriver.exe')
driver.maximize_window()
driver.get("authentication windows url")
shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("username")
time.sleep(1)
shell.Sendkeys("{TAB}")
time.sleep(1)
shell.Sendkeys("password")
time.sleep(1)
shell.Sendkeys("{ENTER}")
time.sleep(5)
driver.quit()
当它停止工作时我试图将我的chrome驱动程序更改为最新版本,但仍然无法正常工作.一旦出现Windows身份验证,光标将无限制地在用户名文本字段上闪烁,但不输入用户名.当它卡住时,我在控制台中收到消息
2018-04-02 07:09:28,230 INFO: Imported existing <module 'comtypes.gen' from 'C:\Python27\lib\site-packages\comtypes\gen\__init__.pyc'>
2018-04-02 07:09:28,230 INFO: Using writeable comtypes cache directory: 'C:\Python27\lib\site-packages\comtypes\gen'
以前使用相同的代码工作得很好.我正在使用python 2.7.12和最新版本的chrome驱动程序.
此外,如果某人有一个不同的解决方案或链接,以便在python selenium中的身份验证窗口中提供凭据,那么这对我也有用.
注意:相同的代码在早期工作得很好,但现在它不起作用
解决方法:
你试过了吗
driver.switchTo()警报();
要么
.driver.switchTo()activeElement();
在输入凭据之前?
但是,如果这个工作,我无法解释为什么它以前工作.