定位一組對象find_elements
阿新 • • 發佈:2017-06-28
aps java har min 方法 content 包含 style 語言
1、腳本準備
1)將以下代碼保存復制到記事本中,並保存成 checkbox.html 文件。 (註意,這個頁面需要和我們的自動
化腳本放在同一個目錄下,否則下面的腳本將指定 checkbox.html 的所在目錄)
1 <html> 2 <head> 3 <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 4 <title>Checkbox</title> 5 <script type="text/javascript" async="View Code6 " src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 7 <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" 8 rel="stylesheet" /> 9 <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> 10 </head> 11 <body> 12 <h3>checkbox</h3> 13 <div class="well"> 14 <form class="form-horizontal"> 15 <div class="control-group"> 16 <label class="control-label" for="c1">checkbox1</label> 17 <div class="controls"> 18 <input type="checkbox" id="c1" /> 19 </div> 20 </div> 21 <div class="control-group"> 22 <label class="control-label" for="c2">checkbox2</label> 23 <div class="controls"> 24 <input type="checkbox" id="c2" /> 25 </div> 26 </div> 27 <div class="control-group"> 28 <label class="control-label" for="c3">checkbox3</label> 29 <div class="controls"> 30 <input type="checkbox" id="c3" /> 31 </div> 32 </div> 33 </form> 34 </div> 35 </body> 36 </html>
2)通過瀏覽器打開 checkbox.html,將看到以下頁面:
2、代碼實現
通過腳本來單擊勾選三個復選框。
1 #coding=utf-8 2 from selenium import webdriver 3 import time 4 import os 5 6 driver = webdriver.Firefox() 7 #打開本地目錄文件 8 file_path = ‘file:///‘+os.path.abspath(‘checkbox.html‘) 9 driver.get(file_path) 10 time.sleep(3) 11 12 #選擇頁面上所有tag name為input的元素並打印元素個數 13 inputs = driver.find_elements_by_tag_name("input") 14 print(len(inputs)) 15 16 #從中過濾出type為checkbox的元素,依次單擊勾選 17 for input in inputs: 18 if input.get_attribute(‘type‘)==‘checkbox‘: 19 input.click() 20 time.sleep(1) 21 22 #把頁面最後一個checkbox取消勾選 23 inputs.pop().click() 24 time.sleep(3) 25 26 driver.quit()View Code
3、方法解析
1)import os
os 模塊為 python 語言標準庫中的 os 模塊包含普遍的操作系統功能。主要用於操作本地目錄文件。
2)os.path.abspath()
path.abspath()方法用於獲取當前路徑下的文件。
3)for 循環
對 inputs 獲取的一組元素進行循環,在 python 語言中循環變量(input)可以不用事先聲明直接使用。
4)find_elements_by_xx(‘xx’)
find_elements 用於獲取一組元素
5) len()
len 為 python 語言中的方法,用於返回一個對象的長度(或個數) 。
6)pop()
pop 也為 python 語言中提供的方法,用於刪除指定們位置的元素,pop()為空默認選擇最一個元素。
定位一組對象find_elements