要处理Windows身份验证,处理此类方案的一种方法是通过URL本身传递凭据,如下所示
driver.get('http://username:password@abc.com')
但在我的情况下,因为密码包含特殊字符,例如密码@ 123'所以现在代码包含双重特殊字符' @'如下图所示
driver.get('http://username:password@123@abc.com')
我尝试更换' @'与'%40'使用url编码器/解码器,但它不起作用。我正在使用python selenium,知道如何处理这种情况吗?
答案 0 :(得分:1)
一个简单的原始 字符串将完成这项工作 note 我使用三重引号只是为了逃避任何'
和"
可能出错。
driver.get(r'''http://username:password@123@abc.com''')
答案 1 :(得分:0)
请您尝试使用以下语法:
String url = http://username:password%40123@abc.com;
driver.get(url);
在其中一个应用程序中,密码中有多个@字符。我只是逃避@角色。例如
URL: http://username:password@#@@sample.com
Encoded_URL: http://username:password%40%23%40@sample.com
然后尝试浏览已编码的网址。
driver.get(Encoded_URL);
对我来说,它工作正常。如果它适合你,请告诉我。
答案 2 :(得分:0)
如果您的用户名为“shoaib”且密码为akhtar@123
,则您的.get()
调用应为:
driver.get('http://shoaib:akhtar%40123@abc.com')