繁体   English   中英

为什么https:// username:password@example.com不起作用?

[英]Why doesn't https://username:password@example.com work?

我有一个我要登录的网站。 它是其中一个弹出窗口,当您单击时会要求您输入用户名/密码。

问题是执行https://username:password@my.site.example/不起作用,弹出窗口仍然存在。

代码被暂停在driver.get() (除非我在弹出窗口中手动输入用户名/密码),所以我无法使用类似Robots之类的东西(无论如何我都不喜欢)

无论如何,可能导致上述网址无法正常工作的原因是什么,适用的解决方法是什么?

(我正在使用FirefoxDriver)

有时这种方式行不通。如果您不是很特定地这样做,则可以使用Java AWT机器人来完成;可以使用driver.switchtoAlert()切换到弹出窗口并输入用户名。其余的由机器人处理。

请参阅此处的示例。如果切换到窗口时遇到问题,则只能使用用户名和密码输入。从chrome的更新版本开始,弹出框不再是窗口,而是在另一个窗口中显示方式。但是这个想法有些奏效。

通常这是一个艰难的情况,并且硒处理范围已超出了硒的范围,我们除了转向机器人外别无选择,事实证明它是片状的。

如果您对Java AWT不满意并且无法很好地工作,则可以尝试使用第三方库(例如AutoIT) ,尽管我不知道使用该框架的实现的具体细节 ,但我听说它还有更多比机器人稳定。

编辑:我发布的代码似乎仅适用于Internet Explorer(IEDriverServer),不适用于Firefox或Chrome。我们必须对其他浏览器使用AutoIT。

您可以将browsermob代理与远程Web驱动程序一起使用。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM