(1)python+selenium第一個自動化指令碼:實現開啟百度首頁並搜尋selenium
阿新 • • 發佈:2019-02-11
一、第一個自動化指令碼:實現開啟百度首頁並搜尋”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檢視 (firebug是firefox里加載的,可以去網上查查怎麼安裝)
例如這段程式碼:
<input id=”kw1” class=”s_ipt” type=”text” maxlength=”100” name=”wd” autocomplete=”off”>
可以有多種方式定位:
Find_element_by_tag_name(‘input’) 頁面中tag叫input的可能重複,所以不建議使用
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() #關閉瀏覽器