gpt4 book ai didi

java - 如何从我的 Java 应用程序设置 Selenium 的代理设置?

转载 作者:搜寻专家 更新时间:2023-11-01 02:31:54 29 4
gpt4 key购买 nike

我想从我的 Java 应用程序更改 selenium 服务器的代理。当我以常见方式设置代理时,Selenium 服务器不使用此设置。我的意思是,当我启动 selenium 浏览器并转到 IP 检查服务(在 google 上搜索“我的 ip 是什么”)时,我希望显示代理 IP 而不是我的 IP 地址。

最佳答案

如果您在 Selenium 2.0 中使用 WebDriver API 来控制浏览器,您可以将浏览器配置为使用代理,使用 org.openqa.selenium.Proxy定义代理的类,specify it as a Capability在启动 WebDriver 实例时。 Selenium FAQ addresses it in a question :

Q: I need to use a proxy. How do I configure that?

A: Proxy configuration is done via the org.openqa.selenium.Proxy class like so:

Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl("http://youdomain/config");

// We use firefox as an example here.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.PROXY, proxy);

// You could use any webdriver implementation here
WebDriver driver = new FirefoxDriver(capabilities);

如果您使用的是 Selenium RC(属于 Selenium 1;该 API 在 Selenium 2 中可用以实现向后兼容),那么您将需要配置 Selenium Server 以使用代理。这是因为 Selenium Server 本身被配置为浏览器的代理,因此,Selenium Server 必须通过代理将 HTTP 请求转发到 Web 应用程序。代理详细信息可以提供为 JVM startup flags to Selenium Server, as noted in the Selenium documentation :

Proxy Configuration

If your AUT is behind an HTTP proxy which requires authentication then you should configure http.proxyHost, http.proxyPort, http.proxyUser and http.proxyPassword using the following command.

$ java -jar selenium-server-standalone-<version-number>.jar -Dhttp.proxyHost=proxy.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password

关于java - 如何从我的 Java 应用程序设置 Selenium 的代理设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429704/

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