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



我有一个网站,我正在尝试登录。 它是其中一个网站,当您点击它时,会立即弹出询问您的用户名/密码。

问题是做https://username:password@my.site.example/不起作用,弹出窗口仍将保留。

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

无论如何,上述 URL 不起作用的可能原因是什么,适用的修复程序是什么?

(我正在使用火狐驱动程序)

您可以将浏览器生物代理与远程 Web 驱动程序结合使用。

它有时不是这样工作的。如果你不是很具体地这样做,你可以使用Java AWT机器人来做到这一点。您可以使用 driver.switchtoAlert() 切换到弹出窗口并输入用户名。其余的由机器人处理。

有关示例,请参阅此处。如果您在切换到窗口时遇到问题,您可以只使用用户名和密码条目。从chrome的更新版本开始,弹出框不再是窗口,它以不同的方式出现。但这个想法有些效果。

这通常是一个艰难的情况,超出了硒的范围来处理这个问题,我们别无他法,只能求助于机器人,结果证明它是片状的。

如果您对Java AWT不满意并且效果不佳,则可以尝试使用第三方库,例如AutoIT,尽管我不知道使用该框架实现的细节,但我听说它比Robot更稳定。

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

最新更新