1. 程式人生 > >定位一組對象find_elements

定位一組對象find_elements

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="
6 " 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>
View Code

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