Загрузите содержимое веб-страницы с помощью Selenium Webdriver и HtmlUnit.

Для следующих версий (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 ответ

Решение

Я получил ответ, ребята. Я включил JavaScript, и он работал. Итак, новый код выглядит так:

public class HtmlUnitTest {             
    public static void main(String[] args) {
        HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_38);
        driver.setJavascriptEnabled(true);
        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();         
    }      
}

Спасибо всем.

Другие вопросы по тегам