人工智能-機器學習之Selenium(chrome驅動,火狐驅動)

selenium是一個用於web應用程序測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操做同樣。支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否可以很好得工做在不一樣瀏覽器和操做系統之上。測試系統功能——建立衰退測試檢驗軟件功能和用戶需求。支持自動錄製動做和自動生成。Net、Java、Perl等不一樣語言的測試腳本。Selenium 是ThoughtWorks專門爲Web應用程序編寫的一個驗收測試工具。css

 

要使用selenium以前呢必須得先下載瀏覽器驅動器,我知道的瀏覽器只有這些html

,Chrome瀏覽器 指定瀏覽器 Firefox :火狐 Opera 歌劇院 , Ie瀏覽器,Safari 蘋果瀏覽器
其中我只用過火狐和Chrome瀏覽器    
 
Chrome瀏覽器的驅動下載地址是:http://chromedriver.storage.googleapis.com/index.html
要下載的版本必須是你如今使用的版本最近的或同樣,而後把你下載的驅動解壓放在你的瀏覽器的文件中就能夠來了    要是不行的話就重啓一下
 
火狐瀏覽器的驅動下載地址是:https://github.com/mozilla/geckodriver/releases
他的操做也跟上邊的同樣 ,不過他的驅動就下最新版的就能夠了
 
 
接下來就是selenium操做了
 
 
#導報
from selenium import webdriver
import time
import requests




#創建瀏覽器對象 ,Chrome瀏覽器 指定瀏覽器 Firefox :火狐 Opera 歌劇院 , Ie瀏覽器,Safari 蘋果瀏覽器
browser = webdriver.Chrome()
#使用瀏覽器訪問網站
browser.get('https://www.baidu.com')

#向文本框填充文本
browser.find_element_by_id("kw").send_keys('男神鵬')

time.sleep(1)

#模擬點擊
browser.find_element_by_id("su").click()

time.sleep(5)


#匹配多個節點
# elist = browser.find_elements('css selector','h3')
elist = browser.find_elements_by_class_name('t')

text_str = str(elist[0].text)

print(text_str)

#點擊連接
browser.find_element_by_link_text(text_str).click()

#暫停
time.sleep(50)

#關閉瀏覽器
browser.quit()
 
 
 
注意 :每次鏈接一個地址都給瀏覽器緩衝時間   一秒也行,最後別忘了關閉瀏覽器,這是我簡單的一個操做流程, 他的流程就是先打開百度 而後 搜索:男生鵬  而後進第一個頁面  。
 
 
下面的就是一些selenium操做

最簡單粗暴卻失傳已久的8種定位git

聽說這種定位方式在江湖上都快要失傳了,實在想不通爲何,明明寫起來最簡單粗暴啊~github

 

driver.find_element("name","wd").send_keys("Selenium2")web

driver.find_element("id","su").click()chrome

你們必定會和我同樣以爲這種方式的定位實在是太省事了~只要寫find_element就好啦,下面咱們來總結一下這8種寫法與基本定位方法類比過來該怎麼寫:api

 

by_id -> find_element("id","")瀏覽器

 

by_xpath -> find_element("xpath","")工具

 

by_link_text -> find_element("link text","")測試

 

by_partial_text -> find_element("partial link text","")

 

by_name -> find_element("name","")

 

by_tag_name -> find_element("tag name","")

 

by_class_name -> find_element("class name","")

 

by_css_selector -> find_element("css selector","")

 

 

 

elements複數定位

在上面的例舉的八中基本定位方式種,都有對應的複數形式,分別是下面這些:

 

id複數定位find_elements_by_id()

name複數定位find_elements_by_name()

class複數定位find_elements_by_class_name()

tag複數定位find_elements_by_tag_name()

link複數定位find_elements_by_link_text()

partial_link複數定位find_elements_by_partial_link_text()

xpath複數定位find_elements_by_xpath()

css複數定位find_elements_by_css_selector()

這些複數定位方式每次取到的都是具備相同類型屬性的一組元素,因此返回的是一個list隊列,咱們也能夠利用這個去定位單個的元素。好比百度首頁種,右上角有新聞、視頻、地圖、貼吧等一些連接,咱們經過f12查看源碼能夠發現,這些連接都有共同的class, class="mnav"。

 
 
selenium基礎操做就是這些了 ,但願對大家有幫助!!
相關文章
相關標籤/搜索