簡體   English   中英

如何使用selenium webdriver和瀏覽器HtmlunitDriver for Java設置代理?

[英]How can i set proxy using selenium webdriver with browser HtmlunitDriver for Java?

我的名字是Leo,我是一個java bot開發者,我使用Selenium webdriver和Browser HtmlUnitDriver無頭,我的問題就像我的標題說:我知道如何使用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);

這是我自己的問題的答案,我做“@Raghav N”告訴我的方法,非常感謝! :D(y)

我這樣做並且完美地工作,並且它可以被測試,因為打開www.find-ip.net並且廢棄了實際的代理活動,並且它與我放置的相同。

這里的代碼工作,如果你想測試它,復制並粘貼你的proyect。 注意:使用類代理,您需要“導入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

如果頁面沒有加載可能代理已關閉嘗試另一個。

我希望這會對你有所幫助,再見! :)

你能試試下面的代碼嗎?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM