selenium+python自动化测试(2)

定位对象

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()

'''





猜你喜欢

转载自blog.csdn.net/cqupt_zl/article/details/78777171