Python+selenium实现Web自动化测试的各种元素定位
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
一、先安装selenium驱动或者插件 这是我另一篇博客,详细的介绍了各种浏览器如何安装: https://blog.csdn.net/qq_43107323/article/details/105423492 二、编写Python代码;我这里是网上最全的元素定位 from selenium import webdriver import time dr = webdriver.Chrome() # 打开登陆163邮箱的网页 dr.get('http://mail.163.com/') # 将浏览器窗口最大化 dr.maximize_window() # 1、id btn = dr.find_ 在Python中,selenium是一个强大的Web自动化测试工具,它允许我们模拟用户与网站的交互,如点击按钮、填写表单等。本篇文章将详细介绍如何利用selenium进行Web自动化测试中的各种元素定位。 要使用selenium,我们需要安装相应的浏览器驱动。在描述中提到的链接里,你可以找到关于如何为不同的浏览器(如Chrome、Firefox等)安装对应驱动的详细步骤。安装完成后,我们就可以开始编写Python代码来实现自动化测试了。 以下是一段示例代码,用于打开163邮箱并完成登录过程: ```python from selenium import webdriver import time driver = webdriver.Chrome() # 使用Chrome浏览器 driver.get('http://mail.163.com/') # 访问163邮箱登录页面 driver.maximize_window() # 扩大浏览器窗口 # 元素定位方法: 1. 通过ID定位 btn = driver.find_element_by_id('lbNormal').click() # 2. 通过XPath绝对路径定位 # 进入登录框所在的iframe driver.switch_to.frame(driver.find_element_by_xpath("/html/body/div[2]/div[3]/div/div[3]/div[4]/div[1]/div/iframe")) # 3. XPath相对路径定位 # 有时元素的位置可能发生变化,不建议使用绝对路径 # 4. 使用元素名+属性值定位 # driver.switch_to.frame(driver.find_element_by_xpath("//*[@frameborder='0']")) # 5. 元素名+部分属性值 # driver.find_element_by_xpath("//*[contains(@name,'email')]").send_keys('123456789') # 6. 通过元素内的文本内容定位超链接 # driver.find_element_by_xpath("//*[text()='忘记密码?']").click() # 7. 元素名+索引定位 # driver.find_element_by_xpath('//div[1]/input').send_keys("666888") # 8. 通过name属性定位 driver.find_element_by_name('email').send_keys('15890501589') # 9. 通过tag_name定位 # driver.find_element_by_tag_name('input').send_keys('15890501589') # 10. 通过class_name定位 # 注意:如果有空格,可以使用部分class名称,但必须唯一 driver.find_element_by_class_name('dlpwd').send_keys('123456') # 点击登录按钮 driver.find_element_by_id('dologin').click() # 智能等待,确保元素加载完成 driver.implicitly_wait(3) # 验证登录结果 false_password = driver.find_element_by_class_name("ferrorhead").text if false_password == '帐号或密码错误': print(false_password) else: print('密码正确') # 退出iframe driver.switch_to.default_content() driver.implicitly_wait(2) # 验证是否登录成功 real_result = driver.find_element_by_class_name('nui-tree-item-text').text if real_result == "收件箱": print('登录成功') else: print('执行失败') # 继续智能等待 driver.implicitly_wait(2) # 11. 通过link_text定位超链接内容 # driver.find_element_by_link_text('设置').click() ``` 这段代码展示了selenium中常用的几种元素定位方法,包括通过ID、XPath、name、tag_name、class_name以及link_text等。在实际应用中,我们可以根据页面结构选择合适的定位方式。 值得注意的是,`implicitly_wait`函数用于设置隐式等待,即在找不到元素时,会等待指定时间后再尝试查找,这有助于处理页面动态加载的情况。而`switch_to.frame`用于切换到iframe框架内进行操作,因为某些网页的交互元素可能位于iframe中。 理解并熟练运用selenium的元素定位方法对于进行Web自动化测试至关重要。通过结合不同的定位策略,我们可以准确地操控页面元素,实现复杂的功能,如模拟用户登录、提交表单、点击链接等,从而提高测试效率和准确性。
- qq_392009352023-09-30非常有用的资源,有一定的参考价值,受益匪浅,值得下载。
- 粉丝: 6
- 资源: 945
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 一种智能频率计的设计与制作(AVR)proteus仿真+程序资料.zip
- 应用电子、继电线路设计论文资料.zip
- 用单片机实现温度远程显示论文资料.zip
- 硬件工程师手册_全.zip
- 西门子S7-200编程软件实战:污水处理系统全自动控制及触摸屏操作实践(包含电气原理图和主程序与子程序),西门子S7-200编程软件,触摸屏,电气原理图 污水处理系统 主程序及子程序,过滤,反洗
- 正弦信号发生器毕业设计论文资料.zip
- 远程温度控制系统毕业设计论文资料.zip
- 智能风扇调速系统毕业设计资料.zip
- 智能台灯设计资料.zip
- 智能健康监护仪的研究毕业设计论文资料.zip
- 智能温度报警系统毕业设计资料.zip
- 自动加料机控制系统毕业设计论文资料.zip
- 智能小区安防系统毕业设计论文资料.zip
- 智能型充电器的电源和显示的设计资料.zip
- 自动水满报警器设计资料.zip
- 自来水厂全自动恒压供水监控系统论文资料.zip