好的,所以我的目标是通过代理连接到https网站,需要身份验证而不需要任何人为干预。
解决方案#1:Firefox
public class GalleryScreen : MonoBehaviour {
string[] filePaths;
int x = 0;
WWW www;
// Use this for initialization
void Start()
{
StartCoroutine("load_image");
}
// Update is called once per frame
void Update()
{
}
IEnumerator load_image()
{
filePaths = Directory.GetFiles(Application.dataPath + "CountryHorse/pics/", "*.png");
www = new WWW("file://" + filePaths[x]);
yield return www;
Texture2D temp = new Texture2D(0, 0);
www.LoadImageIntoTexture(temp);
GetComponent<Image>().material.mainTexture = temp;
}
public void next()
{
x++;
if (x > filePaths.Length) x = 0;
}
public void back()
{
}
问题:浏览器打开后,会打开用户名和密码的auth弹出窗口。
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")
不起作用,根本没有回复。 将代理更改为
也没有运气alert = driver.switch_to_alert()
alert.send_keys('balbla')
解决方案#2:PhantomJs
使用phantomjs我设法在代码中进行身份验证:
http://username:password@ip
问题:我无法浏览任何 https 网站,例如我正在尝试进入 https :// www .gmail.com,我得到空页。 代理正在使用https(手动加倍检查)。
添加
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/')
不能正常工作。
我在Linux环境下使用selenium和python。寻找任何可以帮助我解决的解决方案。
谢谢你的头。答案 0 :(得分:0)
我想这有点晚了:) - 但基本上从代理中删除了https并将代理类型设置为https,即:
service_args = [
'--proxy=IP:PORT',
'--proxy-type=https',
'--proxy-auth=USERNAME:PASSWORD',
]