bootstrap 表格不用tr td如何写_自动化测试必备技能之Selenium表格定位!

553d6d403e8d3a18940363a811f8a395.gif

前言

  浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能。

被测试网页的HTML代码

   

        消费项目一月二月

        衣服1000元500元

         化妆品3000元500元

        食物3000元650.00元

        总计7000元1150元

18f727ecb0737d36610613717c53b491.png

一、遍历表格所有单元格

   实例代码

 1 from selenium import webdriver

 2 driver = webdriver.Firefox()

 3 driver.get(r'file:///D:/pythonSeleniumTestCode/pythonStu/src/table.html')

 4 #id定位方式获取整个表格对象

 5 table = driver.find_element_by_id('table')

 6 #通过标签名获取表格中所有行

 7 trlist = driver.find_elements_by_tag_name('tr')

 8 print(len(trlist))

 9 for row in trlist:

10     #遍历行对象,获取每一个行中所有的列对象

11     tdlist = row.find_elements_by_tag_name('td')

12     for col in tdlist:

13         print(col.text + '\t',end='')

14     print('\n')

15 driver.quit()

   输出结果

消费项目    一月    二月    

衣服    1000元    500元    

化妆品    3000元    500元    

食物    3000元    650.00元    

总计    7000元    1150元   

   代码说明   1.先获取整个表格的页面对象   table=driver.find_element_by_id('table')   2.在表格页面元素对象中,获取所有tr元素对象,并存储在trlist中   trlist=table.find_elements_by_tag_name('tr')   3.循环遍历存储表格行对象的trlist对象,每获取一行中所有的单元格对象(存储到tdlist对象中),就循环遍历一次,并将每个单元格的文本内容输出

for row in trlist:

     #遍历行对象,获取每一个行中所有的列对象

     tdlist = row.find_elements_by_tag_name('td')

     for col in tdlist:

         print(col.text + '\t',end='')

     print('\n')

  以上步骤完成表格中所有单元格的遍历输出,通过遍历可以实现读取任意单元格内容的操作。

二、定位表格中的某个元素

   目的   定位表格中第二行第二列单元格   XPATH表达式

//table[@id='table']/tbody/tr[2]/td[2]

  python定位语句:

element = driver.find_element_by_xpath('//table[@id='table']/tbody/tr[2]/td[2]')

  CSS表达式:

table#table>tbody>tr:nth-child(2)>td:nth-child(2)

  python定位语句:

element = driver.find_element_by_css_selector('table#table>tbody>tr:nth-child(2)>td:nth-child(2)')

三、定位表格中的子元素

   被测试网页HTML代码

   

        消费项目一月二月

        衣服:

                外套

                内衣

1000元500元

         化妆品:

                面霜

                沐浴露

3000元500元

        食物:

                主食

                蔬菜

3000元650.00元

        总计7000元1150元

564174898cf31984396d613d63d5e212.png

目的

  在被测网页中,定位表格中第三行中的第一个“面霜”文字前的复选框。

//td[contains(.,'化妆品')]/input[1]

  python定位语句:

element = driver.find_element_by_xpath('//td[contains(.,'化妆品')]/input[1]')

   代码说明   先找到包含元素的单元格,在此单元格中再寻找子元素即可。 表达式//td[contains(.,'化妆品')]表示模糊匹配文本内容包含“化妆”关键字的单元格td元素,//input[1]表示定位td下的第一个input子元素。

总结

  这篇随笔写的很简单,实际工作中的表定位可能也会有各种各样的情况,但是这篇随笔确实基础,希望大家多练习吧。 0cdd0b368b13d5f85a544347863653c8.png

5cb332b488bd85dde6aa233d48afde9f.png

原文链接: https://www.cnblogs.com/linuxchao/p/linuxchao-python-selenium-table.html 本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除。 推荐阅读

点击阅读☞8点银行测试经验帮助新人“避雷”!现在看还来得及!

点击阅读☞微信小程序和Jenkins不得不说的二三事

点击阅读☞如何使用Jenkins在windows服务器上自动远程部署?

点击阅读☞五分钟学会用Jmeter+ant+jenkins实现接口自动化构建!

点击阅读☞关于Jenkins项目迁移那些事儿……

0236b222f5f4d3b802521546dcea74d2.gif

181ed5256bace4338387a5e99f7e36d6.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值