我正在尝试使用 Sauce Labs 为我们的登台服务器设置一些 selenium 测试。它支持基本的 http 身份验证,因此理论上我可以将 selenium URL 设置为 http://user:password@www.stagesite.com
。 但是,密码中包含“@”,这会导致您可以想象到的各种问题。我尝试用反斜杠转义它,但据我所知,这没有任何作用。
所以,
是否有另一种方法可以使用 selenium 进行 http 身份验证,即不通过 URL。或者,
有没有办法使用基于 URL 的身份验证,但不知何故告诉浏览器“@”是密码的一部分?
最佳答案
在将它们作为 URL 的一部分传递之前,您只需要像这样对特殊字符进行编码,因此 @
需要作为 %40
传递,例如:
https://user:password%40www.example.com
(我通常使用这个 - http://meyerweb.com/eric/tools/dencoder/ - 来满足我的编码/解码需求。)
关于密码为 "@"的 HTTP 基本认证 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20574841/