1. 程式人生 > >(1)python+selenium第一個自動化指令碼:實現開啟百度首頁並搜尋selenium

(1)python+selenium第一個自動化指令碼:實現開啟百度首頁並搜尋selenium

一、第一個自動化指令碼:實現開啟百度首頁並搜尋”selenium”

#coding=utf-8    #為防止亂碼,編碼為utf-8
from selenium import webdriver        #匯入selenum的webdriver包
driver.find_element('id','kw').send_keys("selenium")   #通過輸入框的id為kw,定位到輸入框,輸入”selenium”
driver=webdriver.Firefox()          #獲取瀏覽器的物件(此處的driver可以定義為任意字元,只是個物件)
driver.get("http://www.baidu.com")      #get方法傳送網址
driver.find_element('id','su').click()   #通過搜尋按鈕的id為su定位到搜尋按鈕,點選
driver.quit()      

這個搜尋就完成了,所以通過元素定位還是很簡單的

前面看過一段時間的QTP,qtp是通過識別物件來錄製或者編寫指令碼的,好多時候如果物件沒有在物件庫中,那麼就識別不出來會中斷,反過頭來看看selenium還是比qtp簡單的,因為還是稍微有點程式設計能力的,所以selenium執行起來更加容易。

首先把整體格式掌握了,具體怎麼定位元素是有幾種方法的

再來了解一下元素定位,即找到輸入框或者搜尋框或者按鈕之類的控制元件

元素定位:通過firebug檢視 (firebugfirefox里加載的,可以去網上查查怎麼安裝)

例如這段程式碼:

<input id=”kw1” class=”s_ipt” type=”text” maxlength=”100” name=”wd” autocomplete=”off”>

可以有多種方式定位:

Find_element_by_tag_name(‘input’)  頁面中taginput的可能重複,所以不建議使用

Find_element_by_id(‘kw1’)

Find_element_by_class_name(‘s_ipt’)

Find_element_by_name(‘wd’)

二、把上面指令碼升級一下,實現從檔案中讀取關鍵字,再搜尋

#coding=utf-8

from selenium import webdriver  

import time    
driver=webdriver.Firefox()          #利用火狐瀏覽器
driver.get("http://www.baidu.com")      #開啟get到的網址
time.sleep(5)               #t停頓5秒,即5秒內一直在這個介面
print("網站的名稱:",driver.title)      #獲取網站名稱並輸出
for line in open("keyword.txt").readlines():      #開啟keyword.txt檔案,並一行行讀取資料:keyword.txt中可以存放任意關鍵字,比如:selenium python 趙麗穎(ps:一個關鍵字佔一行)
  driver.find_element('id','kw').send_keys(line)   #通過輸入框的id為kw,定位到輸入框,輸入”selenium”
    driver.find_element('id','su').click()   #通過搜尋按鈕的id為su定位到搜尋按鈕,點選按鈕
    time.sleep(5)   #停頓5秒
    driver.find_element('id','kw').clear()    #清空輸入框,防止下次輸入的時候會連著上一次的,最後導致所有關鍵字都在輸入框中了

driver.quit()    #關閉瀏覽器