码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-02 17:39:38      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:col   font   os.path   box   rom   htm   bdr   odi   cti   

选中一组元素的方式也是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 选择并操作一组元素

标签:col   font   os.path   box   rom   htm   bdr   odi   cti   

原文地址:https://www.cnblogs.com/dinghanhua/p/9736398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!