定位一组元素.py

时间:2020-01-19 00:37:04   收藏:0   阅读:143
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)默认获取一组元素中的第二个
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!