定位一组元素.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-一组元素的定位

Selenium 3----定位一组元素+多表单切换+多窗口切换

python selenum ---如何定位一组元素

Selenium2学习-- 定位一组元素find_elements

6-selenium-定位一组元素

定位一组元素,点击一组中第几个按钮