使用python

时间:2017-04-14 11:22:02

标签: python selenium popupwindow

软件:python 2.7 + selenium 浏览器:chrome 57

您好,

我需要从网站下载一些报告文件。有一个操作系统级弹出窗口,我必须输入我的用户名和密码。

enter image description here

我尝试过用URL链接输入我的用户名和密码的解决方案。 例如:https://username:password@XXX.com

但它不起作用,因为我的用户名包括" \"哪些会被翻译成" /"在URL。

我还尝试下载一个名为autoit的软件,但由于安全问题,我无法在我的电脑上安装它。

我可以为我的问题尝试的任何解决方案。

由于

1 个答案:

答案 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)

在输出中你应该看到:

  

http://user%5Cname:password@XXX.com

这个URL可以正常使用基本身份验证(您的情况)