在我的测试环境中,身份验证是使用Windows弹出窗口完成的,而在生产中,它通常是完成的,即一切都在网页上。
我正在使用AutoIT,但没有脚本正常工作,请帮忙。
我尝试的解决方案很少,
WinWaitActive("Authentication Required","","10")
Send("username")
Send("{TAB}")
Send("password")
Send("{Enter}")
第二个解决方案:
WinWait("locator","","10") // where locator is class found by using Finder tool
If WinExists("locator","") Then // in AutoIT
WinActivate("locator")
Send("username@domain.com{TAB}")
WinActivate("locator")
Send("password{ENTER}")
EndIf
我知道这看起来非常简单,但我还没有能够在Chrome上这样做,如果我稍微调整一下脚本它在IE上工作正常
答案 0 :(得分:0)
用于处理浏览器身份验证,只需弹出;
var alert = driver.SwitchTo().Alert();
alert.SetAuthenticationCredentials("username", "password");
alert.Accept();
答案 1 :(得分:0)
对于自动化Google Chrome,您可以使用Chrome UDF。 安装有3个步骤:
Here。
使用示例:
#Include <Chrome.au3>
$Username = "username"
$Password = "password"
_ChromeStartup("https://yoururl.com") ; start web page in Chrome
sleep(1000)
_ChromeObjSetValueByName("FIELD_USER_ID", $Username) ; set username field
sleep(1000)
_ChromeObjSetValueByName("FIELD_PASSWORD", $Password) ; set password field
_ChromeInputClickByName("login") ; name of "Login" button
您可以从网页源代码(Chrome中的F12)获取字段和按钮的ID。
您也可以尝试使用http网址授权:
_ChromeStartup("http://" & $username & ":" & $password & "@" & "engprod-charter.net/")