我曾经使用这种方法在firefox中对我的受保护代理进行身份验证
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "http://%s:%s@%s" %(user_id, pwd, proxy))
profile.set_preference("network.proxy.http_port", proxy_site_port)
profile.update_preferences()
这段代码一直在为我的受保护代理工作,直到最近我发现它失败了,可能是因为firefox不再接受该语法。我也尝试过通过browser.get(“ http://UserName:Password@Example.com”)这种方式将凭据解析到url,但也失败了。
我开始填写警报作为解决方法
WebDriverWait(F_browser, 20).until(expected_conditions.alert_is_present())
obj = browser.switch_to.alert
credential=user_id +"\ue004"+ pwd
obj.send_keys(keysToSend=credential)
obj.accept()
但是如果我不断地在代理服务器中旋转,此方法稍后将失败,可能是因为它无法跟上警报的要求。
有没有更好的方法可以实现这一目标,或者我可以使我的代码更好,请发表评论。谢谢