如何获得硒驱动程序中整个页面的 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.com/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.com/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();
}
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP