Java 中的無頭瀏覽器

HTMLUnitDriver

HTMLUnitDriver 是基於 HtmlUnit 的 Webdriver 的無頭(GUI-less)瀏覽器的最輕量級實現。它模擬 HTML 文件,並提供一個 API,允許你呼叫頁面,填寫表單,單擊連結等,就像在普通瀏覽器中一樣。它支援 JavaScript 並與 AJAX 庫一起使用。它用於測試和檢索網站上的資料。

示例: 使用 HTMLUnitDriver 從 http://stackoverflow.com/獲取問題列表。

import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
        
class testHeadlessDriver{
            private void getQuestions() {
                    WebDriver driver = new HtmlUnitDriver();
                    driver.get("http://stackoverflow.com/");
                    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
                    List<WebElement> questions = driver.findElements(By.className("question-hyperlink"));
                    questions.forEach((question) -> {
                        System.out.println(question.getText());
                    });
                   driver.close();
                }
    }

它與任何其他瀏覽器(Mozilla Firefox,谷歌瀏覽器,IE)相同,但它沒有 GUI,執行在螢幕上不可見。