java - 如何使用 selenium webdriver 和浏览器 HtmlunitDriver for Java 设置代理?

标签 java selenium-webdriver proxy

我叫 Leo,我是一名 Java 机器人开发人员,我正在使用 Selenium webdriver 和 Browser HtmlUnitDriver headless,我的问题就像我的标题所说:我知道如何使用 FirefoxDriver 设置代理,但我不想使用 UI 浏览器因为它执行起来太慢,所以,在谷歌和另一个页面中搜索我没有发现任何类似的东西,如果有人知道如何使用 HtmlUnitDriver 打开带有代理的 Url,请帮助你的答案对我有用,谢谢。

我正在将它用于 FirefoxDriver,我想对 HtmlUnitDriver 做同样的事情。

org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
    proxy.setHttpProxy("198.2.202.49:80")
         .setFtpProxy("198.2.202.49:80")
         .setSslProxy("198.2.202.49:80");
    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability(CapabilityType.PROXY, proxy);
    WebDriver driver = new FirefoxDriver(cap);

最佳答案

这是我自己问题的答案,我按照“@Raghav N”告诉我的方法做了,非常感谢! :D (y)

我这样做并完美地工作,并且可以对其进行测试,因为打开 www.find-ip.net 并取消了实际代理 Activity ,并且它与我输入的相同。

这里的代码工作,如果你想测试它,复制并粘贴到你的项目中。 注意:对于类代理,您需要“导入 org.openqa.selenium.Proxy;”

HtmlUnitDriver driver = new HtmlUnitDriver(); 
Proxy proxy = new Proxy();
proxy.setHttpProxy("42.117.1.78:3128"); 
driver.setProxySettings(proxy);
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
driver.get("http://www.find-ip.net");
String ip = driver.findElement(By.xpath("//*[@id='ipbox']/div[1]/div[2]")).getText(); // Copia el texto del actual ip
String pais = driver.findElement(By.xpath("//*[@id='ipbox']/div[2]/div[2]")).getText(); //Copia el texto del actual Pais del proxy
System.out.println("» Ip Ficticio: " + ip +" - Country: " + pais);

输出:

Ip: 42.117.1.78       -        Country: Viet Nam

如果页面未加载,可能是代理已关闭,请尝试使用另一个。

希望对你有所帮助,再见! :)

关于java - 如何使用 selenium webdriver 和浏览器 HtmlunitDriver for Java 设置代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353557/

相关文章:

c# - MonoTouch 自动代理网络凭据不起作用

proxy - 如何将部分请求转发到 Clojure 中的另一台服务器?

proxy - 从 XSD 生成类型/类的参数化构造函数

Ruby 脚本中的 Java 构造函数

java - Android 在 Java 中高效地阅读大文本

java - 从多线程驱动程序启动 Apache Spark SQL 作业

java - Apache/mod_jk 模块运行一段时间后无法连接 jboss

selenium - 尝试从日期选择器中选择日期时如何修复 'stale element reference exception'?

java - 如何在 selenium webdriver 上同时断言或验证多个必需的错误消息

css - Selenium Webdriver C#::CSS 选择器在 Internet Explorer 中无法正常工作