如何使用Java使用Selenium WebDriver 处理静态 Web 表?
Web Tables 用于组织网页上相似类型的内容,Web 表格是以行和列格式在逻辑上存储的元素组。 Web 表格有各种 HTML 标签,如.、table、th、tr、td。让我们更多地了解这些标签:
-
- 它定义了一个表
- 它定义了一个标题单元格 - 它定义表中的一行。 - 它定义了表格中的一个单元格。 标签始终位于 标签内。 HTML 表格示例
静态演示表
下表是一个静态演示表和该表的 HTML 代码:
HTML
BookName Author Subject Price Learn Selenium A Selenium 100 Learn Java B Java 500 Learn JS C Javascript 700 Master In Selenium D Selenium 1000 Master In Java E JAVA 2000 Master In JS F Javascript 1000 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 表格。
要打印表中列出的所有书籍的总成本:
- 打开网址
- 找到 x 路径
- 计算每本书的成本,
查找表的 X 路径:
- 访问网站
- 右键单击表并选择检查并复制 x 路径。
- 如果有任何疑问,请查看这篇文章
- 为了找到价格,我们必须复制第四列的 x 路径,即。价格栏
/html/body/table/tbody/tr/td[4]
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); } } 一步一步代码说明:
- 在 setup 方法中做所有的配置,比如启动浏览器,打开 URL。
- 要获取 URL,您应该定义在系统中保存为 table.html 的文件的地址
- 创建数据类型 Web 元素的列表并将所有值存储在表的第 4 列中
- 现在遍历列表并将数据转换为整数并对价格求和。
- 打印总成本
- 然后点击在eclipse中运行Java应用程序。
For setting the chrome driver and selenium webdriver refer to this article How to Open Chrome Browser Using Selenium in Java?
输出: