checkbox.html源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
- equiv = "content-type" content = "text/html;charset=utf-8" / >
/ title>
type = "text/javascript" async = " "src=" https: / / ajax.googleapis.com / ajax / libs / jquery / 1.9 . 1 / jquery. min .js"><</CODE> /script>
= "http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel = "stylesheet" / >
= "http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js" ><</CODE> /script>
<</CODE> /head>
checkbox<</CODE> /h3>
class = "well" >
class = "form-horizontal" >
class = "control-group" >
class = "control-label" for = "c1" >checkbox1<</CODE> /
label>
class = "controls" >
<</CODE> inputtype = "checkbox" id = "c1" / >
<</CODE> /div>
<</CODE> /div>
class = "control-group" >
class = "control-label" for = "c2" >checkbox2<</CODE> /
label>
class = "controls" >
<</CODE> inputtype = "checkbox" id = "c2" / >
<</CODE> /div>
<</CODE> /div>
class = "control-group" >
class = "control-label" for = "c3" >checkbox3<</CODE> /
label>
class = "controls" >
<</CODE> inputtype = "checkbox" id = "c3" / >
<</CODE> /div>
<</CODE> /div>
class = "control-group" >
class = "control-label" for = "r" >radio<</CODE> /
label>
class = "controls" >
<</CODE> inputtype = "radio" id = "r" / >
<</CODE> /div>
<</CODE> /div>
<</CODE> /form>
<</CODE> /div>
<</CODE> /body>
<</CODE> /html>
|
Python代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
|
#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)
# 选择所有的checkbox并全部勾上
checkboxes = dr.find_element_by_css_selector( 'input[type=checkbox]' )
for check in checkboxes:
check.click()
time.sleep( 1 )
# 打印当前页面上有多少个checkbox
dr.quit()
|
报错内容:TypeError: 'WebElement' object isnot iterable
解决办法:
checkboxes
=
dr.find_element_by_css_selector(
'input[type=checkbox]'
)
改为:
checkboxes
=
dr.find_elements_by_css_selector(
'input[type=checkbox]'
)
或者:input1 = dr.find_elements_by_tag_name('input')
注意:因为是定位一组元素,而不是单个元素,在书写时要特别注意;