gpt4 book ai didi

java - 使用 ChromeDriver 设置 browsermob 代理

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:38 26 4
gpt4 key购买 nike

我正在尝试设置 browsermob 以在我的 selenium 项目中工作。我一直在寻找一种使用 ChromeOptions 来设置代理的方法,但所有消息来源都告诉我对其他所有内容都使用 ChromeOptions,然后在实例化新的 ChromeDriver 实例之前将其转换为 DesiredCapabilities。

这是我的代码:

ChromeOptions options = new ChromeOptions();
// Setting some chrome features here

ProxyServer proxyServer = new ProxyServer(4444);
proxyServer.start();

Proxy proxy = proxyServer.seleniumProxy();

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability(CapabilityType.PROXY, proxy);

WebDriver driver = new ChromeDriver(capabilities); // Error happens here

我正在使用 Maven 存储库中的 Webdriver 2.44 版。这是我得到的错误:

java.lang.IllegalAccessError: tried to access field com.google.gson.JsonNull.INSTANCE from class org.openqa.selenium.remote.BeanToJsonConverter

有谁知道将代理连接到 chromedriver 的原因或任何替代解决方案?

最佳答案

ChromeDriver 不直接支持代理上限。但确实如此支持将命令行参数传递给 chrome 进程。和设置http代理是chrome命令行开关之一。可以设置如下:

DesiredCapabilities caps = DesiredCapabilities.chrome();    
ArrayList<String> switches = new ArrayList<String>();
switches.add("--proxy-server=localhost:8080");
caps.setCapability("chrome.switches", switches);
webDriver = new ChromeDriver(caps);

关于java - 使用 ChromeDriver 设置 browsermob 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com