在Python中使用证书身份验证的Selenium Webdriver

时间:2017-10-13 09:42:15

标签: python selenium selenium-webdriver webdriver certificate

我正在尝试使用Python自动连接到需要证书身份验证的安全站点。这来自 Windows ,并且不一定是无头的。我的组织不能很好地使用Firefox,因此我选择在 Chrome 中执行此操作。证书是 .pfx

我遇到过较旧的帖子,说它根本无法使用 Chromedriver 完成,但可能的解决方法是创建配置文件并将证书导入该配置文件。运行代码时,我引用了配置文件。

到目前为止我的代码:

from selenium import webdriver
import time

options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('user-data-
dir=C:\\Users\\User\\AppData\\Local\\Google\\Chrome\\User Data\\')

driver = webdriver.Chrome(executable_path='C:\\Users\\User\\WinPython-
64bit-3.5.4.0Qt5\\python-
3.5.4.amd64\\chromedriver.exe',chrome_options=options)
time.sleep(3)
driver.get('https://www.securesite.com')

此代码会导致“此网站无法访问”响应。手动尝试时,会弹出一个提示,选择确认要使用的证书,然后我就可以成功进入该站点。

查看 certmgr.mmc 时,我可以看到证书是在个人下导入的,我已将其导入受信任的根CA 。来自 Chrome 但是当我查看证书时,我发现仅在个人下。

我不确定我在这里做错了什么,我希望在最近的时候 - 找到了一个解决方案,所以有人可以告诉我。

谢谢

0 个答案:

没有答案