selenium基礎1

selenium 是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

常用的當然是模擬Firefox和Chrome,畢竟方便調試。

通過這種可視化、模仿人瀏覽的方式,更爲簡單、直觀的的獲取頁面上的信息,對於菜鳥來說,還是相對友好,會用F12查看要素就好。

使用流程:

1.下載對應瀏覽器webdriver

2.編寫python腳本

下載對應瀏覽器版本的webdriver:

Firefox: https://github.com/mozilla/geckodriver/releases/

Chrome: http://chromedriver.storage.googleapis.com/index.html

 

編寫腳本

首先導入selenium 庫的 webdriver模塊

from selenium import webdriver

根據需要,有些時候加載頁面緩慢,要等待頁面完成加載,就需要再導入等待的模塊

from selenium.webdriver.support.ui import WebDriverWait

首先,啓動webdriver,這裏以Chrome爲例(注意大小寫,excutable_path參數,用於指定下載的chromedriver.exe的路徑)

browser = webdriver.Chrome(executable_path=r'D:\用xxx\chromedriver.exe')

運行完成以後,會發現有一個chrome瀏覽器被打開,接下來需要讓browser用get方法載入網頁url

browser.get(url)

這個時候,瀏覽器webdriver就打開了一個頁面,接下來就要在頁面當中進行定位,這裏頁面的效果不是右鍵->源代碼的效果,而是F12的效果,就可以開始進行元素定位了。元素定位有多種webdriver的方法,可以參考這篇文章:

史上最全!Selenium元素定位的30種方式

https://blog.csdn.net/qq_32897143/article/details/80383502

列舉幾種用來定位的方式,Xpath的功能相對來說最爲強大。大家按需下菜。

# 獲取id標籤值
element = browser.find_element_by_id("passwd-id")
# 獲取name標籤值
element = browser.find_element_by_name("user-name")
# 獲取標籤名值
element = browser.find_elements_by_tag_name("input")
# 也可以通過XPath來匹配
element = browser.find_element_by_xpath("//input[@id='passwd-id']")

除了選擇和爬取,也有模仿點擊、輸入的功能,具體可以參見這篇:

selenium教程

https://www.jianshu.com/p/6c82c965c014

據我所知,除了python,java也可以用,功能還是很強大的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章