selenium之表格的定位

素 总结   浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能。 回到顶部 被测试网页的HTML代码 被测试网页HTML代码 回到顶部 ①遍历表格所有单元格 复制代码 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代码 被测试网页HTML代码 目的:   在被测网页中,定位表格中第三行中的第一个“面霜”文字前的复选框。 //td[contains(.,'化妆品')]/input[1] python定位语句: element = driver.find_element_by_xpath('//td[contains(.,'化妆品')]/input[1]') 代码解释:   先找到包含元素的单元格,在此单元格中再寻找子元素即可。表达式//td[contains(.,'化妆品')]表示模糊匹配文本内容包含“化妆”关键字的单元格td元素,//input[1]表示定位td下的第一个input子元素。 回到顶部 总结   这篇随笔写的很简单,实际工作中的表定位可能也会有各种各样的情况,但是这篇随笔确实基础,希望大家多练习吧。如果文章中有什么错误或者建议,评论给我,我会最快的速度回复你,谢谢! 真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 分类: python,slenium,自动化测试 标签: 自动化测试, selenium, python 好文要顶 关注我 收藏该文 linux超 关注 - 6 粉丝 - 14 +加关注 关注一下楼主吧 1 0 « 上一篇:selenium之元素定位-css posted @ 2018-12-12 10:06 linux超 阅读(108) 评论(0) 编辑 收藏 https://www.cnblogs.com/linuxchao/p/linuxchao-python-selenium-table.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信