使用Selenium Webdriver和HtmlUnit下载网页内容

时间:2015-06-10 07:24:35

标签: java selenium selenium-webdriver htmlunit htmlunit-driver

对于以下版本(JDK:8,JRE:8,HtmlUnit:2.17和Selenium Webdriver:2.46),我的代码完全正常。当我说好的时候,这意味着我可以下载完整的网页内容(每一行)。

package  mypackage;
import org.openqa.selenium.By;      
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;     
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import com.gargoylesoftware.htmlunit.BrowserVersion;
public class HtmlUnitTest {             
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver(); // Working fine
String baseUrl = "h t t p s : / / fourseasons . wd3 . myworkdayjobs . com / search / jobs";
driver.get(baseUrl);
WebDriverWait myWaitVar = new WebDriverWait(driver, 20);
try{
    myWaitVar.until(ExpectedConditions.visibilityOfElementLocated(By.id("wd-FacetedSearchResult-ResultsPnl-facetSearchResult")));
}catch(Exception ex){
    ex.printStackTrace();
}
String content=driver.getPageSource();
System.out.println(content);
driver.close();         
}      

}

但是当我将驱动程序更改为HtmlUnitDriver时,它并没有下载完整的内容。

WebDriver driver = new HtmlUnitDriver();

我当时尝试了什么:

1. WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_38);
2. WebDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);
3. WebDriver driver = new HtmlUnitDriver(BrowserVersion.INTERNET_EXPLORER_11);

没有任何作用。 我还可以补充一些额外的建议。

1 个答案:

答案 0 :(得分:1)

我得到了答案。我启用了javascript并且它有效。所以新代码就像:

player.health = 100;

谢谢大家。