前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 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()
运行结果如下:
以上就是我们获取一组元素的定位方式!
拜了个拜!