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 选择并操作一组元素的主要内容,如果未能解决你的问题,请参考以下文章
Selenium2学习-- 定位一组元素find_elements
详解介绍Selenium常用API的使用--Java语言(完整版)