Selenium WebDriver 处理table

首先,html table是由 table 元素以及一个或多个 tr、th 或 td 元素组成。

for example:

这是一个简单的html table:

源码如下:

<html><head><meta http-equiv="Content-Language" content="zh-cn"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>for selenium test </title></script></head><body><div align="center">        <h4 align="left">               table head:</h4>    <table border="2" width="90%" id="table138" bordercolorlight="#CCCCCC" cellspacing="0" cellpadding="0" bordercolordark="#CCCCCC" style="border-collapse: collapse">    <tr align="center">        <td height="26" width="10%" align="center" bgcolor="#CCEEAA" ><Strong>Test Case ID</Strong></td>        <td  height="26" width="35%" align="center" bgcolor="#EEEEAA" ><Strong>Steps</Strong></td>        <td  height="26" width="30%" align="center" bgcolor="#00EEEE" ><Strong>Expect</Strong></td>        <td  height="26" align="center" bgcolor="#EE00EE" ><Strong>Actual</Strong></td>        <td  height="26" align="center" bgcolor="#00EE00" ><Strong>PASS/FAIL</Strong></td>    </tr>        <tr align="center">        <td height="26" align="center" bgcolor="#CCEEAA">ENT#-12345</td>        <td  height="26" align="left" bgcolor="#EEEEAA" >1.open baidu.com ,wait for the page load</br>2.enter "selenium" in the input box" </br>3.click search button  </td>        <td  height="26" align="left" bgcolor="#00EEEE" >"Selenium - Web Browser Automation" link be the first of the search result</td>        <td  height="26" align="left" bgcolor="#EE00EE" >Selenium - Web Browser Automation is appear the page,but is not the first link</td>        <td  height="26" align="center" bgcolor="#00EE00" >FAIL</td>    </tr>        </tr>        <tr align="center">        <td height="26" align="center" bgcolor="#CCEEAA">ENT#-12346</td>        <td  height="26" align="left" bgcolor="#EEEEAA" >1.click the "Selenium - Web Browser Automation" link</br>2.wait for page load</td>        <td  height="26" align="left" bgcolor="#00EEEE" >open the official home page of selenium</td>        <td  height="26" align="left" bgcolor="#EE00EE" >selenium home page is load </td>        <td  height="26" align="center" bgcolor="#00EE00" >FAIl</td>    </tr>    </tr>        <tr align="center">        <td height="26" align="center" bgcolor="#CCEEAA">ENT#-12347</td>        <td  height="26" align="left" bgcolor="#EEEEAA" >1.click baidu snapshot of selenium web page </br>2. wait for the page load</td>        <td  height="26" align="left" bgcolor="#00EEEE" >the snapshot web page can be show up</td>        <td  height="26" align="left" bgcolor="#EE00EE" >the snapshot web page is show up</td>        <td  height="26" align="center" bgcolor="#00EE00" >PASS</td>    </tr>    </table>    </div>    </body></html>

那么问题就来了,我想通过xpath获取这个table的每一个cell的值(比如获取expect的值),该怎么做。

如果这个表格被改变了,增加或删除一些行列该如何处理?

我的solution是获取table的base xpath,这个所谓的base xpath是指这个table的第n行第m列相同的部分,然后通过传入n,m获取返回值

public static String tableCell(WebDriver driver,int row, int column)    {        String text = null;        //avoid get the head line of the table        row=row+1;            String xpath="//*[@id=‘table138‘]/tbody/tr["+row+"]/td["+column+"]";        WebElement table=driver.findElement(By.xpath(xpath)); //*[@id="table138"]/tbody/tr[1]/td[1]/strong        text=table.getText();        return text;            }

所以,tableCell(driver,1,2)就能返回

时间: 2024-10-13 10:58:01

Selenium WebDriver 处理table的相关文章

python+selenium webdriver 如何处理table

Table对象是自动化测试中经常需要处理的对象.由于webdriver中没有专门的table类,所以我们需要简单的封装出一个易用易扩展的Table类来帮助简化代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

Selenium Webdriver——处理Table

html table是由 table 元素以及一个或多个 tr.th 或 td 元素组成.如下: HTML源码如下: <html> <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"&

Selenium Webdriver——Table类封装

WebTable.java import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; public class WebTable { private WebElement webTable; public WebTable(WebElement webElement){ this.webTable = webElement; } //等到表格的行数 public int

selenium webdriver 右键另存为下载文件(结合robot and autoIt)

首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为,根本操作不了. 也有在网上看到webdriver right click option的一些代码,拿来用发现不能用的. Actions act = new Actions(driver); WebElement link = driver.findElement(By.id("xpath"

selenium webdriver 表格的定位方法练习

selenium webdriver 表格的定位方法 html 数据准备 <html> <body> <div id="div1"> <input name="divl1input"></input> <a href="http://www.sogou.com/">搜狗搜索</a> <img alt="div1-img1 "src=&qu

selenium webdriver XPath的定位方法练习 !

html  代码: <html> <body> <div id="div1"> <input name="divl1input"></input> <a href="http://www.sogou.com/">搜狗搜索</a> <img alt="div1-img1 "src="http://www.sogou.com/ima

WebDriver获取table的内容(通过动态获取Table单元格的TagName对其innerHTML值进行获取)

import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.se

Selenium Webdriver 自动化测试开发常见问题(C#版)

转一篇文章,有修改,出处http://www.7dtest.com/site/blog-2880-203.html 1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver driver = new FirefoxDriver(); //打开指定的URL地址 driver.Navigate().GoToUrl(@"http://12.99.102.196:9080/corporbank/logon_pro.html"); //关闭浏览器 Driver.quit

selenium webdriver (3)

鼠标事件: ActionChains 类? context_click() 右击? double_click() 双击? drag_and_drop() 拖动鼠标右键: from selenium.webdriver.common.action_chains import ActionChains #导入ActionChains包 #定位到要右击的元素 qqq =driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[