微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Selenium – Https问题与PhantomJS和Proxy Auth与Firefox

好的,所以我的目标是通过代理连接到https网站,需要身份验证而无需任何人工干预.

解决方案#1:Firefox

fp = webdriver.FirefoxProfile()
fp.set_preference("network.proxy.type",1)
fp.set_preference("network.proxy.http","IP")
fp.set_preference("network.proxy.http_port",PORT)
driver = webdriver.Firefox(firefox_profile=fp)
driver.get("http://www.google.com")

问题:浏览器打开后,会打开用户名和密码的auth弹出窗口.

alert = driver.switch_to_alert()
alert.send_keys('balbla')

不起作用,根本没有回应.
更改代理也没有运气

http://username:password@ip

解决方案#2:PhantomJs

使用phantomjs我设法在代码中进行身份验证:

service_args = [
    '--proxy=https://IP:PORT','--proxy-type=http','--proxy-auth=USERNAME:PASSWORD',]
br = webdriver.PhantomJS(PATH,service_args=service_args)
br.get('https://www.google.com/')

问题:我不能浏览任何https网站,例如我正在尝试进入https://www.gmail.com,我得到空页.
代理正在使用https肯定(手动加倍检查).

加入

'--ssl-protocol=any'

不行.

我在Linux环境下使用selenium和python.寻找任何可以帮助我解决问题的解决方案.

谢谢你的头.

解决方法

我想这有点晚了:) – 但基本上从代理中删除https并将代理类型设置为https:

service_args = [
    '--proxy=IP:PORT','--proxy-type=https',]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐