如何獲得硒驅動程式中整個頁面的 innerHTML?
我們可以在 Selenium 中獲得整個頁面的 innerHTML。我們將使用 getPageSource 方法,並在控制檯中列印它捕獲的值。
語法
String s = driver.getPageSource();
我們還可以在 Selenium 中透過 JavaScript 命令獲取 HTML 原始碼。我們將利用 executeScript 方法,並將命令 return document.body.innerHTML 作為引數傳遞給該方法。
語法
JavascriptExecutor j = (JavascriptExecutor) driver; String s = (String) j.executeScript("return document.body.innerHTML;");
示例
使用 getPageSource 的程式碼實現。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class PageHTMLcode{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); String url = "https://tutorialspoint.tw/index.htm"; driver.get(url); // getPageSource method to obtain HTML of page System.out.println("Get HTML of page: "+ driver.getPageSource()); driver.quit(); } }
使用 Javascript Executor 的程式碼實現。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.JavascriptExecutor; public class PageHTMLcodeJS{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); String url = "https://tutorialspoint.tw/index.htm"; driver.get(url); // Javascript executor to obtain page HTML JavascriptExecutor j = (JavascriptExecutor) driver; String s = (String) j.executeScript("return document.body.innerHTML;"); System.out.println("Get HTML of page: "+ s); driver.quit(); } }
廣告