具有.pac autoproxy设置的PhantomJS WebDriver?

时间:2015-07-16 15:27:21

标签: selenium webdriver phantomjs http-proxy

是否可以将PhantomJS WebDriver与Selenium和.pac autoproxy设置一起使用?目前我正在使用以下代码。

DesiredCapabilities capabilities = DesiredCapabilities.phantomjs();
capabilities.setJavascriptEnabled(true);
capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,new String[] {"--ssl-protocol=any", "--proxy=na-proxy-url:port","--proxy-auth="+ netID + ":"+ netPassword, "--ignore-ssl-errors=true", "--proxy type=https"});

网络流量通常通过我们的北美代理进行,但有时会使用备用代理。有没有办法用my_url.pac替换na-proxy-url?

1 个答案:

答案 0 :(得分:0)

经过一番头痛后,我意识到PhantomJS不能用作WebDriver。请参阅GitHub Issue 10834

可以使用HtmlUnit完成,但这需要使用HtmlUnit进行权衡。 (不幸的是没有加载我正在抓取的页面)以下示例代码用于Java中的HtmlUnitDriver。

        HtmlUnitDriver driver = new HtmlUnitDriver(){
        protected WebClient modifyWebClient(WebClient client){
            DefaultCredentialsProvider creds = new DefaultCredentialsProvider();

            creds.addCredentials("username", "password");
            client.setCredentialsProvider(creds);
            return client;
        }
        };
        driver.setAutoProxy("http://my_url.pac");