Selenium入门系列4 选择并操作一组元素

Posted dinghanhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium入门系列4 选择并操作一组元素相关的知识,希望对你有一定的参考价值。

选中一组元素的方式也是8种,与选中单个元素一一对应。区别只在于element与elements。elements取到的是一个数组,element取符合条件的第一个元素。 

技术分享图片

 

首先在脚本的目录下新建test.html文件,将下面的内容拷贝进去保存。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>测试页面</title>
</head>
<body>
    
    <form action="" style="font-size: 30px;color:#00ccff;">
        <input type="checkbox">check1<br>
        <input type="checkbox">check2<br>
        <input type="checkbox">check3<br>
        <input type="checkbox">check4<br>
        <input type="checkbox">check5<br>
    </form>
    <hr>
    <form action="" style="font-size: 30px;color:#cc00ff;">
        <input type="radio" name>radio1<br>
        <input type="radio" name>radio2<br>
        <input type="radio" name>radio3<br>
    </form>
</body>
</html>

 

编写脚本python脚本

#coding=utf-8
#获取一组元素,再循环操作

from selenium import webdriver
import time
import os

driver=webdriver.Firefox()

filepath="file:///" +os.path.abspath("test.html") #打开示例页面
driver.get(filepath)

#获取页面所有的input,再判断是否是复选框,选中所有复选框
inputs=driver.find_elements_by_tag_name("input") 
for inputtag in inputs:
    if inputtag.get_attribute("type") == "checkbox":
        inputtag.click()
time.sleep(0.5)

#获取页面所有的复选框,去掉勾选
checkboxes = driver.find_elements_by_css_selector("input[type=checkbox]")
print(the num of checkbox is ,len(checkboxes))#复选框个数
for checkbox in checkboxes:
    checkbox.click()

#点击最后一个单选框
driver.find_elements_by_css_selector("input[type=radio]").pop().click()
#点击第二个checkbox
driver.find_elements_by_css_selector("input[type=checkbox]")[1].click()

time.sleep(2)
driver.quit()

 

以上是关于Selenium入门系列4 选择并操作一组元素的主要内容,如果未能解决你的问题,请参考以下文章

selenium入门

selenium测试(Java)-- 一组元素操作

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

详解介绍Selenium常用API的使用--Java语言(完整版)

D3.js 入门系列 --- 2.1 关于如何选择,插入,删除元素

selenium定位一组元素操作