使用selenium3

时间:2016-11-18 16:03:44

标签: firefox selenium-webdriver ssl-certificate

我被困住了。我使用selenium3.0的python客户端和Mozilla Firefox 49.0.2以及phantomjs 2.1.1。

问题是该网站没有有效的证书,因此它被卡在页面中#34;您的连接不安全"。我不记得之前有什么不同,但过去常常使用以下代码

profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
profile.assume_untrusted_cert_issuer = False
profile.set_preference("network.proxy.no_proxies_on","localhost,127.0.0.1,"+url)
driver = webdriver.Firefox(profile)
drive.get('https://'+url'+'port)

但不再了。我应该在某些方面升级Firefox。顺便说一下错误是

Traceback (most recent call last):
  File "seleniumtest.py", line 75, in <module>
    open_browser(url,port,"user","rZMBlg4ZpOX")
  File "seleniumtest.py", line 52, in open_browser
    driver.get(g)
  File "/home/iob/Envs/selenium/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 248, in get
    self.execute(Command.GET, {'url': url})
  File "/home/iob/Envs/selenium/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/home/iob/Envs/selenium/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 196, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Error loading page

我发现自从F38以来,Firefox使用木偶作为默认的FirefoxDriver。我不知道这是否必须对问题做任何事情。我试图调试问题并查看响应。我发现答案是这样的:

{u'sessionId': u'7334d50d-f188-4c70-be4e-3d1440cf21ec', u'value': {u'processId': 32334, u'browserVersion': u'49.0.2', u'takesScreenshot': True, u'acceptSslCerts': False, u'appBuildId': u'20161025170400', u'XULappId': u'{ec8030f7-c20a-464f-9b0e-13a3a9e97384}', u'javascriptEnabled': True, u'raisesAccessibilityExceptions': False, u'specificationLevel': 0, u'platform': u'LINUX', u'browserName': u'firefox', u'version': u'', u'proxy': {}, u'marionette': True, u'rotatable': False, u'device': u'desktop', u'takesElementScreenshot': True, u'platformName': u'linux', u'platformVersion': u'4.4.0-47-generic', u'command_id': 1}

我注意到你接受了SslCerts&#39;:False因此我认为这是我需要为它设置的工作。但我不确定我的尝试究竟是多么准确无效(例如:功能[&#34; acceptSslCerts&#34;] = True)

使用phantomjs我使用下面的代码

service_args = ['--proxy=https://10.241.226.200:5601',
'--proxy-type=https',
'--proxy-auth='+username+':'+password,
'--ignore-ssl-errors=true', '--ssl-protocol=any'] 
driver=webdriver.PhantomJS(service_args=service_args)                         

driver.get(&#34; HTTPS://&#34 + URL +&#34;:&#34 +端口)

这不会引起任何错误但是既没有返回标题,所以我认为某些内容是错误的并且没有正确打开链接。

有什么想法吗?任何详细说明的链接都会有所帮助

0 个答案:

没有答案