如何使用Selenium 获取整个页面的内容?


我们可以使用Selenium获取整个页面的内容。有不止一种方法可以实现。要获得页面上可见的文本,我们可以使用findElement(By.tagname()) 方法进行获取。接下来可以使用getText() 方法从body标签中提取文本。

语法 −

WebElement l=driver.findElement(By.tagName("body"));
String t = l.getText();

获取整个页面内容的另一种方法是使用getPageSource() 方法。

语法 −

String l = driver.getPageSource();

示例

使用 <body> 标签的代码实现。

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 TextContent{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.google.com/";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      // identify element and input text inside it
      WebElement l =driver.findElement(By.tagName("body"));
      System.out.println("Text content: "+ l.getText());
      driver.quit();
   }
}

输出

示例

使用 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 PageSrc{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",  "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.google.com/";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      // getPageSource() and print
      String l = driver.getPageSource();
      System.out.println("Page source: "+ l);
      driver.quit();
   }
}

更新时间: 28-Aug-2020

8K+ 浏览

开启您的职业生涯

完成课程以获得认证

开始
广告