webdriver之定位一组元素

一、定位一组元素的方法

driver.find_elements_by_name("")
driver.find_elements_by_id("")
driver.find_elements_by_tag_name("")
driver.find_elements_by_link_text("")
driver.find_elements_by_partial_link_text("")
driver.find_elements_by_class_name("")
driver.find_elements_by_xpath("")
driver.find_elements_by_css_selector("")

二、应用场景
1、批量操作元素,例如勾选页面上的复选框

2、先获取一组元素,再从这组元素中过滤出要操作的元素,例如定位出页面上所有的checkbox,选择其中的一个进行操作

三、代码实现上面的应用场景

<!--checkbox.html-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Checkbox</title>
<link
    href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css"
    rel="stylesheet" />
<script
    src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js"></script>
</head>
<body>
    <h3>checkbox</h3>
    <div class="well">
        <form class="form-horizontal">
            <div class="control-group">
                <label class="control-label" for="c1">checkbox1</label>
                <div class="controls">
                    <input type="checkbox" id="c1" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="c2">checkbox2</label>
                <div class="controls">
                    <input type="checkbox" id="c2" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="c3">checkbox3</label>
                <div class="controls">
                    <input type="checkbox" id="c3" />
                </div>
            </div>
        </form>
    </div>
</body>
</html>

在这里插入图片描述


from  selenium import webdriver
import time
import os

driver = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath("checkbox.html")
driver.get(file_path)

#使用css或者xpath定位,不需要使用if判断
#inputs_css = driver.find_elements_by_css_selector("input[type=checkbox]")

#for i in inputs_css :
       # i.click()
        #time.sleep(5)

#使用tag_name定位
inputs_tag_name = driver.find_elements_by_tag_name("input")
for i in inputs_tag_name :
    if i.get_attribute("type") == "checkbox":
        i.click()
        time.sleep(5)
inputs_tag_name.pop().click()
time.sleep(5)
driver.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值