Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SeleniumWebDriver和浏览器HtmlunitDriver for Java设置代理?_Java_Selenium Webdriver_Proxy - Fatal编程技术网

如何使用SeleniumWebDriver和浏览器HtmlunitDriver for Java设置代理?

如何使用SeleniumWebDriver和浏览器HtmlunitDriver for Java设置代理?,java,selenium-webdriver,proxy,Java,Selenium Webdriver,Proxy,我的名字是Leo,我是一名java机器人开发者,我正在使用Selenium webdriver和浏览器HtmlUnitDriver headless,我的问题就像我的标题说的:我知道如何使用FirefoxDriver设置代理,但我不想使用UI浏览器,因为它执行起来太慢,所以,在google和另一个页面中搜索时,我没有发现任何类似的东西,如果有人知道如何使用HtmlUnitDriver通过代理打开Url,请帮助我,您的答案将对我有用,谢谢 我用这个来做FirefoxDriver,我想用HtmlUn

我的名字是Leo,我是一名java机器人开发者,我正在使用Selenium webdriver和浏览器HtmlUnitDriver headless,我的问题就像我的标题说的:我知道如何使用FirefoxDriver设置代理,但我不想使用UI浏览器,因为它执行起来太慢,所以,在google和另一个页面中搜索时,我没有发现任何类似的东西,如果有人知道如何使用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);

你能试试下面的代码吗

HtmlUnitDriver driver = new HtmlUnitDriver(capabilities);
ArrayList<String> noProxyHosts = null;
driver.setHTTPProxy("198.2.202.49", 80, noProxyHosts);

HtmlUnitDriver=新的HtmlUnitDriver(功能);
ArrayList noProxyHosts=null;
驱动程序setHTTPProxy(“198.2.202.49”,80,无Proxy主机);

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

我做到了这一点,并且工作得非常完美,而且它可以被测试,因为打开www.find-ip.net并取消了实际的代理活动,这与我所说的是一样的

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

输出:

Ip: 42.117.1.78       -        Country: Viet Nam
如果页面未加载,则代理可能已关闭,请尝试使用其他代理


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

谢谢你的回复,我能问你点什么吗?你能给我一个基本的代码示例,用你给我的代码打开一个简单的url吗?只有复制和粘贴才能使用的东西。您能检查下面的代码吗?HtmlUnitDriver=new HtmlUnitDriver();Proxy Proxy=新代理();setHttpProxy(“198.2.202.49:80”);驱动程序.setProxySettings(代理);driver.get(“);我正在使用此代码在www.iplocation.com中测试我设置的ip是否与我给它的相同这是代码,但还不起作用:SHtmlUnitDriver driver=new HtmlUnitDriver();Proxy Proxy=new Proxy();Proxy.setHttpProxy(“173.234.8.5:80”);driver.setProxySettings(Proxy);driver.get(”;字符串ip=driver.findElement(By.xpath(“//*[@id='locator']/p[1]/b/font”).getText();字符串pais=driver.findElement(By.xpath(“/*[@id='geolocation']/table[2]/tbody/tr[4]/td[2]”);System.out.println(“Ip usada:+Ip+”Pais:+Pais”);
Ip: 42.117.1.78       -        Country: Viet Nam