0

我尝试使用BrowserMob Proxy’swith WebDriver。我使用下一个代码:

public static void main(String[] args) throws Exception {

        String strFilePath = "";

        // start the proxy
        ProxyServer server = new ProxyServer(4455);
        server.start();
        //captures the moouse movements and navigations
        server.setCaptureHeaders(true);
        server.setCaptureContent(true);

        // get the Selenium proxy object
        Proxy proxy = server.seleniumProxy();

        // configure it as a desired capability
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.PROXY, proxy);

        // start the browser up
        WebDriver driver = new FirefoxDriver(capabilities);

        // create a new HAR with the label "apple.com"
        server.newHar("assertselenium.com");

        // open yahoo.com
        driver.get("http://assertselenium.com");

        driver.get("http://assertselenium.com/2012/10/30/transformation-from-manual-tester-to-a-selenium-webdriver-automation-specialist/");

        // get the HAR data
        Har har = server.getHar();
        FileOutputStream fos = new FileOutputStream(strFilePath);
        har.writeTo(fos);
        server.stop();
        driver.quit();

    }

我得到了下一个错误:The proxy server is refusing connections: Firefox is configured to use a proxy server that is refusing connections.

我也尝试运行browsermob-proxy.batwith port 4455,然后在运行时出现下一个错误main

java.net.BindException: Address already in use: JVM_Bind

如何使用 BrowserMob 代理?

4

3 回答 3

1

声明代理的代码似乎是正确的。对于 BindException,很明显某些东西已经在使用端口 4455。您可以检查它(在 Windows 机器上,从内存中写入):

netstat -ano | find "4455"

在 Linux 中用于lsof -i:4455获取 PID 并杀死它。无论如何,对于您的代理拒绝连接,请尝试明确设置代理,看看您是否有运气,例如

proxy.setHttpProxy("localhost:4455");
proxy.setSslProxy("localhost:4455");

此外,请确保您使用的是最新版本的 FF 和 BMP。

于 2014-03-19T00:47:17.943 回答
0

java.net.BindException: Address already in use: JVM_Bind 你得到这个错误是因为在提到的端口上已经有一个服务器在运行。可能是您再次运行代码而不停止您在第一次启动它的服务器。

于 2015-06-11T10:57:20.483 回答
0

尝试在您的电脑上禁用 Internet Explorer 代理。

于 2016-01-05T02:59:13.067 回答