📜  如何使用Java使用Selenium WebDriver 处理静态 Web 表?

📅  最后修改于: 2022-05-13 01:55:26.998000             🧑  作者: Mango

如何使用Java使用Selenium WebDriver 处理静态 Web 表?

Web Tables 用于组织网页上相似类型的内容,Web 表格是以行和列格式在逻辑上存储的元素组。 Web 表格有各种 HTML 标签,如.、table、th、tr、td。让我们更多地了解这些标签:

  • - 它定义了一个表
  • - 它定义表中的一行。
  • 标签内。

    HTML 表格示例

    静态演示表

    下表是一个静态演示表和该表的 HTML 代码:

    HTML
    
       
          
       
       
          
    - 它定义了一个标题单元格
  • - 它定义了表格中的一个单元格。 标签始终位于
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    BookNameAuthorSubjectPrice
    Learn SeleniumASelenium100
    Learn JavaBJava500
    Learn JSCJavascript700
    Master In SeleniumDSelenium1000
    Master In JavaEJAVA2000
    Master In JSFJavascript1000
       


Java
package GFG_Maven.GFG_MAven;
import java.util.List;
  
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
  
public class Geeks {
    public static void main(String args[]) throws InterruptedException {
        
        System.setProperty("webdriver.chrome.driver","C:\\Users\\ADMIN\\Documents\\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
            
        // Maximize the browser
        driver.manage().window().maximize();
    
        // Launch Website
        driver.get("file:///C:/Users/ADMIN/Desktop/table.html");
        List costColumns= driver.findElements(By.xpath("/html/body/table/tbody/tr/td[4]"));
          
          int sum_price=0;
          
          for(WebElement e : costColumns)
        {
           sum_price= sum_price+Integer.parseInt(e.getText());
        }
        
        System.out.println("total price: "+sum_price);
          
    }
  
}


将代码保存为“table.html”,然后您将获得如下所示的 HTML 表格。

要打印表中列出的所有书籍的总成本:

  1. 打开网址
  2. 找到 x 路径
  3. 计算每本书的成本,

查找表的 X 路径:

  • 访问网站
  • 右键单击表并选择检查并复制 x 路径。
  • 如果有任何疑问,请查看这篇文章
  • 为了找到价格,我们必须复制第四列的 x 路径,即。价格栏

Java

package GFG_Maven.GFG_MAven;
import java.util.List;
  
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
  
public class Geeks {
    public static void main(String args[]) throws InterruptedException {
        
        System.setProperty("webdriver.chrome.driver","C:\\Users\\ADMIN\\Documents\\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
            
        // Maximize the browser
        driver.manage().window().maximize();
    
        // Launch Website
        driver.get("file:///C:/Users/ADMIN/Desktop/table.html");
        List costColumns= driver.findElements(By.xpath("/html/body/table/tbody/tr/td[4]"));
          
          int sum_price=0;
          
          for(WebElement e : costColumns)
        {
           sum_price= sum_price+Integer.parseInt(e.getText());
        }
        
        System.out.println("total price: "+sum_price);
          
    }
  
}

一步一步代码说明:

  1. 在 setup 方法中做所有的配置,比如启动浏览器,打开 URL。
  2. 要获取 URL,您应该定义在系统中保存为 table.html 的文件的地址
  3. 创建数据类型 Web 元素的列表并将所有值存储在表的第 4 列中
  4. 现在遍历列表并将数据转换为整数并对价格求和。
  5. 打印总成本
  6. 然后点击在eclipse中运行Java应用程序。

输出: