软件:python 2.7 + selenium 浏览器:chrome 57
您好,
我需要从网站下载一些报告文件。有一个操作系统级弹出窗口,我必须输入我的用户名和密码。
我尝试过用URL链接输入我的用户名和密码的解决方案。 例如:https://username:password@XXX.com
但它不起作用,因为我的用户名包括" \"哪些会被翻译成" /"在URL。
我还尝试下载一个名为autoit的软件,但由于安全问题,我无法在我的电脑上安装它。
我可以为我的问题尝试的任何解决方案。
由于
答案 0 :(得分:2)
在您的情况下进行身份验证的最简单方法是在URL中使用用户名和密码。
您仍然可以使用带有“\”符号的用户名进行身份验证,但您需要首先以网址格式对其进行编码。例如,在使用凭据创建最终到达网址之前,您可以使用urllib
对用户名进行编码。此代码应该在Python 2.7中使用:
import urllib
username = "user\\name"
password = "password"
username_encoded = urllib.quote_plus(username)
URL = "http://%s:%s@XXX.com" % (username_encoded, password)
print(URL)
在输出中你应该看到:
这个URL可以正常使用基本身份验证(您的情况)