定位一组元素.py
Posted 易竹3827
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定位一组元素.py相关的知识,希望对你有一定的参考价值。
from selenium import webdriver
import os,time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#选择页面上所有的tag name为input的元素
inputs = driver.find_elements_by_tag_name("input")
"""
通过tag name的定位方式很难定位到单个元素,因为元素标签名重名的概率很高,因而在定位一组元素时,
这种方式就派上用场了。在上面的例子中先通过find_elements_by_tag_name)找到一组标签名为input的元素。
然后通过for循环进行遍历,在遍历过程中,通过get_attribute)方法获取元素的type属性是否为“checkbox”,如果为
“checkbox”,就认为这个元素是一个复选框,对其进行勾选操作。"""
#过滤出type为CheckBox的元素点击勾选
for i in inputs:
if i.get_attribute("type") == "checkbox":
i.click()
time.sleep(1)
driver.quit()
#通过xpath找到type=CheckBox的元素
checkboxes = driver.find_elements_by_xpath("//input[@type=‘checkbox‘]")
#通过css找到type=CheckBox的元素
checkboxes = driver.find_elements_by_css_selector("input[type=checkbox]")
for checkbox in checkboxes:
checkbox.click()
time.sleep(1)
#打印当前页面上type为checkbox的个数
print(len(checkbox))
#把页面上最后一个checkbox的钩去掉
driver.find_elements_by_css_selector("input[type=checkbox]").pop().click()
#pop(0)默认获取一组元素中的第一个
#pop(1)默认获取一组元素中的第二个
以上是关于定位一组元素.py的主要内容,如果未能解决你的问题,请参考以下文章
Selenium 3----定位一组元素+多表单切换+多窗口切换