简体   繁体   English

如何使用python(加上java)处理selenium中的windows身份验证弹出窗口

[英]How to handle windows authentication popup in selenium using python(plus java)

在此处输入图片说明

I tried the below code, but it didn't work for me我尝试了以下代码,但对我不起作用

from selenium import webdriver
driver=webdriver.Chrome('D:/BrowsersDriver/chromedriver.exe')
driver.get('https://username:password@www.engprod-charter.net/')

Later on I tried to use the same approach in Java后来我尝试在 Java 中使用相同的方法

driver.get(' https://username:password@www.engprod-charter.net/ ') driver.get(' https://username:password@www.engprod-charter.net/ ')

But unfortunately it didn't work for me in any browser.但不幸的是,它在任何浏览器中都不适用于我。 Am I missing something here?我在这里错过了什么吗?

Then I tried with AutoIT in Java然后我尝试在 Java 中使用 AutoIT

Runtime.getRuntime().exec("D:\\FirefoxWindowAuthentication.exe");
driver.get("https://www.engprod-charter.net/")

It works well in Firefox & IE, but didn't work for Chrome.它在 Firefox 和 IE 中运行良好,但不适用于 Chrome。 Is there any way that at-least I can achieve this in selenium using python & what I am missing in case of Java.有什么方法至少我可以使用 python 在 selenium 中实现这一点,以及在 Java 的情况下我缺少什么。 Please suggest me any solution, tried a lot请建议我任何解决方案,尝试了很多

I got this solution which is working well for all three browser(Firefox, Chrome and IE).我得到了这个解决方案,它适用于所有三种浏览器(Firefox、Chrome 和 IE)。

from selenium import webdriver
import time
import win32com.client

driver=webdriver.Firefox()
driver.maximize_window()
driver.get('https://www.engprod-charter.net/')
shell = win32com.client.Dispatch("WScript.Shell")   
shell.Sendkeys("username")  
time.sleep(2)
shell.Sendkeys("{TAB}")
time.sleep(2)
shell.Sendkeys("password") 
time.sleep(2)
shell.Sendkeys("{ENTER}")
time.sleep(2)
driver.quit()

Note : Install win32com.client if you have not downloaded.注意:如果您还没有下载,请安装 win32com.client。 To install win32com.client use below command要安装 win32com.client 使用以下命令

pip install pypiwin32

Try following solution and let me know in case of any issues:尝试以下解决方案,如有任何问题,请告诉我:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
import time

driver=webdriver.Firefox()
driver.get('https://www.engprod-charter.net/')
time.sleep(3)
driver.switch_to.alert.send_keys(username + Keys.TAB + password)
time.sleep(3)
driver.switch_to.alert.accept()

Here is the solution for IE on Windows using third-party autoHK lib 是使用第三方 autoHK lib 在 Windows 上的 IE 解决方案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 Java 处理 Selenium WebDriver 的身份验证弹出窗口 - How to handle authentication popup with Selenium WebDriver using Java 如何使用 Java 使用 Selenium WebDriver 在 Chrome 中处理身份验证弹出窗口 - How to handle authentication popup in Chrome with Selenium WebDriver using Java 如何使用python处理Selenium WebDriver的身份验证弹出窗口? - How to handle authentication popup with Selenium WebDriver using python? 如何使用Java中的Selenium WebDriver处理身份验证弹出窗口 - How to handle authentication popup with Selenium WebDriver in Java 如何使用 Selenium Webdriver 处理浏览器身份验证弹出窗口 - How to Handle Browser Authentication popup using Selenium Webdriver 如何使用Java处理Selenium Webdriver中的嵌套弹出窗口? - How to handle nested popup windows in selenium webdriver with java? 如何在 selenium 中处理 chrome 中的身份验证弹出窗口 - How to handle authentication popup in chrome in selenium 如何使用 Selenium 和 Java 处理浏览器登录弹出窗口 - How to handle browser login popup using Selenium & Java 如何使用带有Java的Selenium WebDriver处理日历弹出窗口? - How to handle calendar popup using Selenium WebDriver with Java? 如何使用Java处理Selenium中的浏览器通知弹出窗口? - How to handle the browser notification popup in selenium using java?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM