1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 〖Python WEB 自动化测试实战篇⑥〗- selenium元素定位之find-elements

〖Python WEB 自动化测试实战篇⑥〗- selenium元素定位之find-elements

时间:2021-06-26 02:37:13

相关推荐

〖Python WEB 自动化测试实战篇⑥〗- selenium元素定位之find-elements

前言

✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS 赋能的博主 ✌

🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆

📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀

💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬

🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦

文章目录

🐳 利用 find-elements 定位一组元素🐬 利用 find_elements_by_css_selector() 定位一组 checkbox🐬 利用 find_elements_by_tag_name() 定位一组 checkbox🐬 如何在选中的一组元素中取消勾选状态

上一章节我们学习基本定位的方法,基本定位能够满足绝大部分的需求。但是仍然有一些特殊的需求我们满足不了,比如说有的场景需要需定位一组对象、或者操作页面上同类型的的元素,这个时候就需要使用到今天需要学习的知识点find-elements了。

🐳 利用 find-elements 定位一组元素

如何去定位一组元素,从而去做一些更细致化的操作呢?就比如一个注册的表单里面有很多选项,各种各样的单一调试很麻烦,利用find-elements定位一组元素就会让这个问题变得简单起来。

看下图:

从图中可以看到有三个checkbox和 一个radio button,接下来我们就通过find-elements的方式选中所有的checkbox按钮。

🐬 利用 find_elements_by_css_selector() 定位一组 checkbox

代码示例如下:

# coding:utf-8from time import sleepfrom selenium import webdriverdriver = webdriver.Chrome()# 启动 Chrome浏览器的 driverdriver.maximize_window() # Chrome 浏览器最大化driver.get('file:///Users/workspace/WEB_TEST_HTML/checkbox.html') # 打开本地的 "checkbox.html" 文件# 使用 css selector 选择器 定位到所有的 checkbox 按钮,并勾选checkboxes = driver.find_elements_by_css_selector('input[type=checkbox]') # 这是 css 的一种写法,需要对 css 知识有一定的了解for checkbox in checkboxes:checkbox.click()sleep(1)sleep(1)driver.quit()

运行结果如下:

🐬 利用 find_elements_by_tag_name() 定位一组 checkbox

代码示例如下:

# coding:utf-8from time import sleepfrom selenium import webdriverdriver = webdriver.Chrome()# 启动 Chrome浏览器的 driverdriver.maximize_window() # Chrome 浏览器最大化driver.get('file:///Users/workspace/WEB_TEST_HTML/checkbox.html') # 打开本地的 "checkbox.html" 文件# 使用 tag_name 定位到所有 tag 属性为 "input" 的元素tag_inputs = driver.find_elements_by_tag_name('input')for input in tag_inputs:# 因为会定位到所有 tag 属性为 "input" 的元素,所以这里需要加个判断.# 针对 "type" 为 "checkbox" 的元素执行点击操作if input.get_attribute('type') == 'checkbox':input.click()sleep(1)sleep(1)driver.quit()

运行结果如下:

🐬 如何在选中的一组元素中取消勾选状态

代码示例如下:

# coding:utf-8from time import sleepfrom selenium import webdriverdriver = webdriver.Chrome()# 启动 Chrome浏览器的 driverdriver.maximize_window() # Chrome 浏览器最大化driver.get('file:///Users/workspace/WEB_TEST_HTML/checkbox.html') # 打开本地的 "checkbox.html" 文件# 使用 css selector 选择器 定位到所有的 checkbox 按钮,并勾选checkboxes = driver.find_elements_by_css_selector('input[type=checkbox]') # 这是 css 的一种写法,需要对 css 知识有一定的了解for checkbox in checkboxes:checkbox.click()sleep(1)sleep(1)driver.find_elements_by_css_selector('input[type=checkbox]').pop().click() # pop() 默认是选择最后一个元素sleep(1)driver.quit()

运行结果如下:

以上就是我们获取一组元素的定位方式!

拜了个拜!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。