使用Selenium Webdriver和Windows身份validation(在Chrome中)C#/ ASP.Net

Google放弃了通过URL传递Windows凭据的支持,这为我打破了很多自动化。 (用户名:password@www.url.com)

https://www.chromestatus.com/feature/5669008342777856

我发现有一个使用AutoItX dll的解决方案我添加了它并且在本地运行时工作正常,但是当部署到Web服务器时它不会发送击键。

这就是我所拥有的。

AutoItX.WinWaitActive(authenticateurl + " - Google Chrome", "", 10); AutoItX.WinActivate(authenticateurl + " - Google Chrome"); AutoItX.Send(AdminUsername + "{TAB}"); AutoItX.Send(AdminUserpass + "{ENTER}"); 

知道为什么AutoItX在部署时不起作用? 是否有更好的替代方法可以在Chrome浏览器中传递Windows凭据? 先感谢您!

我猜这是因为该代码将在服务器上的低权限用户帐户下运行(很可能是本地系统帐户而不是域帐户)。

您需要交换应用程序池运行的帐户(如果有问题的服务器上有任何模糊的机密,请小心) – 或调试当前帐户不允许访问的原因。

在第二种情况下,您可以尝试登录到计算机,运行浏览器作为该系统帐户,然后观察事件日志以查看尝试手动登录时生成的日志(您也可以在运行自动化时执行此操作你没有该帐户的凭据)。