Код аутентификации Windows больше не работает
Мой код для проверки подлинности 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()
Я пытался изменить свой хром-драйвер на последний, когда он перестает работать, но все равно он не работает. Когда появляется аутентификация 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, то это тоже будет работать для меня.
Примечание: тот же код раньше хорошо работал, но теперь он не работает
3 ответа
Попробуйте AutoIT, чтобы создать исполняемый файл для проверки подлинности Windows и вызывать его, когда это необходимо, если ничего не работает. Если вы в основном работаете с Pyton, попробуйте
Образец кода:-
WinWaitActive("Authentication Required","","120")
If WinExists("Authentication Required") Then
Send("username{TAB}")
Send("password{Enter}")
EndIf
Ты пробовал
driver.switchTo().alert();
или же
driver.switchTo().activeElement();
перед вводом учетных данных?
Однако, если это работает, я не могу объяснить, почему это работало раньше.
Вы могли бы попробовать автоматизировать клавиатуру напрямую? Это может сработать. Вы автоматизируете клавиатуру.
Ответили на аналогичный вопрос здесь - /questions/13814881/kak-perejti-k-vsplyivayuschemu-oknu-proverki-podlinnosti-okna-i-vvesti-uchetnyie-dannyie/13814883#13814883