4
好吧,我的目标是通过代理连接到https网站,需要身份验证,无需任何人为交互。Selenium - 幽灵问题与PhantomJS和代理验证与火狐
解决方案#1:火狐
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:[email protected]
解决方案#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 env下使用了python的selenium。寻找能够帮助我解决问题的解决方案。
谢谢你了。