定位对象
1.首先需要checkbox.html文件,该文件与test.py文件在同一路径下
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Checkbox</title>
<script type="text/javascript" async="" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/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>
<div class="control-group">
<label class="control-label" for="r">radio</label>
<div class="controls">
<input type="radio" id="r1" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="r">radio</label>
<div class="controls">
<input type="radio" id="r2" />
</div>
</div>
</form>
</div>
</body>
</html>
2.test.py文件,实现批量操作,勾选checkbox
#定位对象findElements
#场景:批量操作对象,将页面上的所有checkbox都勾上
#前提是checkbox.html和test_1.py在同一路径下
#-*- coding:utf-8 -*-
from selenium import webdriver
import time
import os
dr = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath('checkbox.html')
dr.get(file_path)
#选择页面上所有的input,然后从中过滤出所有的checkbox并勾选上
'''#第一种tag_name
inputs = dr.find_elements_by_tag_name('input')
for input in inputs:
if input.get_attribute('type') == 'checkbox':
input.click()
time.sleep(2)
dr.quit()
'''
'''
#第二种CSS,选择所有的radio并全部勾上
radios = dr.find_elements_by_css_selector('input[type=radio]')
for radio in radios:
radio.click()
time.sleep(2)
#打印当前页面上有多少个radio
print (len(dr.find_elements_by_css_selector('input[type=radio]')))#python3.0 print打印的内容必须带括号()
time.sleep(2)
dr.quit()
#把页面上最后1个radio的勾去掉
dr.find_elements_by_css_selector('input[type=radio]').pop().click()#pop()来实现去掉勾选表,暂时有问题??
time.sleep(2)
dr.quit()
'''