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,執行在螢幕上不可見。