页面元素定位方法---表格定位

1. 遍历表格所有单元格

被测试网页table1.html所有单元格

 1 <html>
 2     <body>  3 <table width="400" border="1" id="table">  4 <tr>  5 <td align="left">图书购买清单</th>  6 <td align="right">一月</th>  7 <td align="right">二月</th>  8 </tr>  9 <tr> 10 <td align="left">python</td> 11 <td align="right">180元</td> 12 <td align="right">200元</td> 13 </tr> 14 <tr> 15 <td align="left">Oracle</td> 16 <td align="right">290元</td> 17 <td align="right">150元</td> 18 </tr> 19 <tr> 20 <td align="left">Selenium自动化测试</td> 21 <td align="right">300元</td> 22 <td align="right">260元</td> 23 </tr> 24 <tr> 25 <td align="left">LoadRunner</td> 26 <td align="right">160元</td> 27 <td align="right">140元</td> 28 </tr> 29 <tr> 30 <td align="left">总计</th> 31 <td align="right">930元</th> 32 <td align="right">750元</th> 33 </tr> 34 </table> 35 </body> 36 </html>

被测试内容展示如下:

 

实例代码逻辑:

  1. 先获取整个表格的页面对象

  2. 在表格页面元素对象中,获取所有的tr元素对象,并存储在trList对象中。

  3. 循环遍历存储表格行对象的trList对象,每获取一行中所有的单元格对象(存储在tdList对象中),就循环遍历一次,并将每个单元格的文本内容输出。

 Python实例代码:

#encoding=utf-8
from selenium import webdriver

driver=webdriver.Ie()
driver.get("http://127.0.0.1/table1.html")
#通过id定位方式获取整个表格对象
table=driver.find_element_by_id("table")
# print type(table)
#
通过标签名获取表格中的所有行对象
trList=table.find_elements_by_tag_name("tr")
#断言获取的表格行数是否等于预期
assert len(trList)==6,"表格行数不符!"
# 遍历表格行对象
for row in trList:
    # 获取每一行中所有列对象
   
tdList=row.find_elements_by_tag_name("td")
    #遍历表格列对象
   
for col in tdList:
        #获取单元格的文本内容
       
print col.text + "\t",
    print

driver.quit()

2. 定位表格中的某个元素

基于被测试网页table1.html代码测试

Python实例代码:

#encoding=utf-8
from selenium import webdriver

driver=webdriver.Ie()
driver.get("http://127.0.0.1/table1.html")

#获取表格的第二行第二列单元格内容
cell=driver.find_element_by_xpath("//*[@id='table']/tbody/tr[2]/td[2]")
print cell.text
#获取表格的第五行第一列单元格内容
cell=driver.find_element_by_xpath("//*[@id='table']/tbody/tr[5]/td[1]")
print cell.text

driver.quit()

3. 定位表格中的子元素

测试代码:

 1 <html>
 2     <body>  3 <table width="700" border="1" id="table">  4 <tr>  5 <td align="left">图书购买清单</th>  6 <td align="right">一月</th>  7 <td align="right">二月</th>  8 </tr>  9 <tr> 10 <td align="left">python: 11 <input type='checkbox'>python开发入门教程</input> 12 <input type='checkbox'>python开发高级篇</input> 13 </td> 14 <td align="right" >180元</td> 15 <td align="right" >200元</td> 16 </tr> 17 <tr> 18 <td align="left">Selenium: 19 <input type='checkbox'>selenium单元测试框架</input> 20 <input type='checkbox'>selenium接口测试框架</input> 21 </td> 22 <td align="right">300元</td> 23 <td align="right">260元</td> 24 </tr> 25 <tr> 26 <td align="left">LoadRunner: 27 <input type='radio'>selenium单元测试框架</input> 28 <input type='radio'>selenium接口测试框架</input> 29 </td> 30 <td align="right">160元</td> 31 <td align="right">140元</td> 32 </tr> 33 <tr> 34 <td align="left">总计</th> 35 <td align="right">640元</th> 36 <td align

转载于:https://www.cnblogs.com/ssj0723/p/9172533.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值