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