在本章的第一节我们已经学习了 8 种定位方法,那 8 种定位方法是真对单元素定位的,WebDriver 还提供了与之对应的 8 种定位方法用于定位一组元素。
find_elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_tag_name()
find_elements_by_link_text()
find_elements_by_partial_link_text()
find_elements_by_xpath()
find_elements_by_css_selector()
定位一组对象的方法与定位单个对象的方法类似,唯一的区别是在单词 element 后面多了一个 s 表示复数。定位一组对象一般用于以下场景:
- 批量操作对象,比如将页面上所有的复选框都被勾选。
- 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象。比如定位出页面上所有的checkbox,然后选择最后一个。手动创建一个 checkbox.html 的页面,通过浏览器打开,效果如图:
为了使页面更美观,在代码中添加了 bootstrap 在线样式的引用。下面就通过例子来操作页面上的这一组复选框。
from selenium import webdriver import os driver