python selenium表单定位

编程入门 行业动态 更新时间:2024-10-10 01:18:23

python selenium<a href=https://www.elefans.com/category/jswz/34/1771263.html style=表单定位"/>

python selenium表单定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error

目录

被测试网页的HTML代码

①遍历表格所有单元格

②定位表格中的某个元素

③定位表格中的子元素

总结

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

被测试网页的HTML代码

被测试网页HTML代码

消费项目一月二月
衣服1000元500元
化妆品3000元500元
食物3000元650.00元
总计7000元1150元

①遍历表格所有单元格

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)')

如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、面试经验交流。感兴趣可以175317069,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

③定位表格中的子元素

被测试网页HTML代码

消费项目一月二月
衣服:

外套

内衣

1000元500元
化妆品:

面霜

沐浴露

3000元500元
食物:

主食

蔬菜

3000元650.00元
总计7000元1150元

目的:

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

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

python定位语句:

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

代码解释:

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

总结

这篇随笔写的很简单,实际工作中的表定位可能也会有各种各样的情况,但是这篇随笔确实基础,希望大家多练习吧。如果文章中有什么错误或者建议,评论给我,谢谢!

更多推荐

python selenium表单定位

本文发布于:2024-02-06 09:48:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747985.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表单   python   selenium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!