Python爬蟲 - Selenium(1)安裝和簡單使用

一、簡介

Selenium是一個用於Web應用程序測試的工具。

Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE,Firefox,Safari,Chrome,Opera等。

在爬蟲上用來模擬正常用戶訪問網頁並獲取數據。

二、安裝(以Chrome爲例)

  1. 瀏覽器安裝

    windows下安裝就不多說了,以下爲服務器(Centos7)的安裝步驟

    #下載安裝包到同級目錄下
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    
    #安裝
    yum install ./google-chrome-stable_current_x86_64.rpm
    
  2. Selenium安裝

    pip install selenium
    
  3. 驅動下載

    selenium是通過ChromeDriver調用的Chrome瀏覽器(其他主流瀏覽器也有相應驅動),所以需要下載ChromeDriver,而且ChromeDriver版本需要與Chrome的版本對應,版本錯誤的話則會運行報錯。

    (1)查看Chrome瀏覽器版本

    Windows系統查看方法:打開Chrome瀏覽器 > 右上角三個點 > 設置 > 關於Chrome
    在這裏插入圖片描述

    Centos7 查看方法:google-chrome --version
    在這裏插入圖片描述

    (2)下載相應版本的驅動

    下載地址:
    Chrome瀏覽器驅動(ChromeDriver):http://npm.taobao.org/mirrors/chromedriver/
    Firefox瀏覽器驅動(GeckoDriver):https://github.com/mozilla/geckodriver/releases
    IE瀏覽器驅動:http://selenium-release.storage.googleapis.com/index.html
    Edge瀏覽器驅動:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
    Opera瀏覽器驅動:https://github.com/operasoftware/operachromiumdriver/releases
    PhantomJS瀏覽器驅動:https://phantomjs.org/
    找到相應的版本:
    可以看到我的Chrome版本爲78.0.3904.108,在上述網址中找到對應的版本,對應大版本(例:78)即可。
    在這裏插入圖片描述
    裏邊有四個文件,前三個對應相應的系統(不用區分64位還是32位),notes.txt文件裏說明了更新內容和支持版本在這裏插入圖片描述

    (3)ChromeDriver安裝

    Mac/Linux:下載完成解壓後,將文件移動至/usr/local/bin目錄中,則可以正常使用
    Windows:下載完成解壓後,將文件移動到一個配置了環境變量的文件夾中,例如你的Python安裝文件夾。

三、 簡單使用

這是一個打開百度首頁,在輸入框中輸入‘平頭哥兒’的例子。

import time
from selenium import webdriver

# 打開一個Chrome瀏覽器
driver = webdriver.Chrome()                       #Chrome瀏覽器
#driver = webdriver.Chrome(r'ChromeDriver路徑')   #還可以指定路徑
#driver = webdriver.Firefox()  				     # Firefox瀏覽器
#driver = webdriver.Ie()                         # IE瀏覽器
#driver = webdriver.Edge()                       # Edge瀏覽器
#driver = webdriver.Opera()                      # Opera瀏覽器
#driver = webdriver.PhantomJS()                  # PhantomJS瀏覽器

# 請求百度首頁
driver.get('https://www.baidu.com')

time.sleep(5) #方便演示,等待五秒

#找到輸入框位置,並輸入'平頭哥兒',百度特性(輸入完內容會自動查)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('平頭哥兒')

time.sleep(5) #方便演示,等待五秒

driver.quit() #關閉全部窗口
歡迎關注同名微信公衆號:程序猿雜記

程序猿雜記

技術|交流|福利

Selenium文集傳送門:

標題 簡介
Python爬蟲 - Selenium(1)安裝和簡單使用 詳細介紹Selenium的依賴環境在Windows和Centos7上的安裝及簡單使用
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 詳細介紹定位元素的8種方式並配合點擊和輸入、提交、獲取斷言信息等方法的使用
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器後退、前進、刷新瀏覽器等方法的使用
Python爬蟲 - Selenium(4)配置啓動項參數 詳細介紹Selenium啓動項參數的配置,其中包括無界面模式、瀏覽器窗口大小設置、瀏覽器User-Agent (請求頭)等等
Python爬蟲 - Selenium(5)鼠標事件 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用
Python爬蟲 - Selenium(6)鍵盤事件 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵
Python爬蟲 - Selenium(7)多窗口切換 詳細介紹Selenium是如何實現在不同的窗口之間自由切換
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 詳細介紹如何從當前定位的主體切換爲frame/iframe表單的內嵌頁面中
Python爬蟲 - Selenium(9)警告框(彈窗)處理 詳細介紹如何定位並處理多類警告彈窗
Python爬蟲 - Selenium(10)下拉框處理 詳細介紹如何靈活的定位並處理下拉框
Python爬蟲 - Selenium(11)文件上傳 詳細介紹如何優雅的通過send_keys()指定文件進行上傳
Python爬蟲 - Selenium(12)獲取登錄Cookies,並添加Cookies自動登錄 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄
Python爬蟲 - Selenium(13)設置元素等待 詳細介紹如何優雅的設置元素等待時間,防止程序運行過快而導致元素定位失敗
Python爬蟲 - Selenium(14)窗口截圖 詳細介紹如何使用窗口截圖
Python爬蟲 - Selenium(15)關閉瀏覽器 詳細介紹兩種關閉窗口的區別

歡迎留言吐槽

發佈了63 篇原創文章 · 獲贊 124 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章