selenium+python自動化100-linux搭建selenium環境

  • 2019 年 10 月 8 日
  • 筆記

前言 selenium在windows機器上運行,每次會啟動介面,運行很不穩定。於是想到用chrome來了的headless無介面模式,確實方便了不少。

為了提高自動化運行的效率和穩定性,於是把selenium自動化環境部署到linux伺服器上,這樣更方便。 環境: centons 7.6 python 3.6 chrome 77.0.3865.90 chromedriver 77.0.3865.40 selenium 3.14

安裝最新版chrome

方法一:下載到本地後安裝

先下載google-chrome最新版77.0.3865.90(有些小夥伴可能下載不了,所以我放到QQ群750815713,群文件下載)

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

下載完成後,使用yum安裝本地包

yum localinstall google-chrome-stable_current_x86_64.rpm

方法二:yum在線安裝

yum install google-chrome-stable_current_x86_64.rpm

或者指定地址

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安裝完成之後,檢查下版本號

> google-chrome -version    Google Chrome 77.0.3865.90

chromedriver驅動

下載chromedriver驅動,歷史版本http://npm.taobao.org/mirrors/chromedriver找到對應的驅動版本

可以使用wget下載zip包

wget http://npm.taobao.org/mirrors/chromedriver/77.0.3865.40/chromedriver_linux64.zip

解壓zip包,如果提示沒有zip,那就yum -y install zip先安裝下

unzip chromedriver_linux64.zip # 解壓zip

解壓後把chromedriver移動到/usr/bin/目錄下

mv chromedriver /usr/bin/

查看chromedriver版本號

> chromedriver --version    ChromeDriver 77.0.3865.40 (f484704e052e0b556f8030b65b953dce96503217-refs/branch-heads/3865@{#442})

安裝selenium

安裝最新版selenium 3.141.0

pip3 install selenium

[root@yoyo chrome]# pip show selenium  Name: selenium  Version: 3.141.0  Summary: Python bindings for Selenium  Home-page: https://github.com/SeleniumHQ/selenium/  Author: UNKNOWN  Author-email: UNKNOWN  License: Apache 2.0  Location: /usr/local/python3/lib/python3.6/site-packages  Requires: urllib3  Required-by:  [root@yoyo chrome]#

運行selenium程式碼

新建一個test_demo.py文件,運行測試程式碼

from selenium import webdriver  from selenium.webdriver.chrome.options import Options  chrome_options = Options()  chrome_options.add_argument('--headless')  # 無介面  chrome_options.add_argument('--no-sandbox')  # 解決DevToolsActivePort文件不存在報錯問題  chrome_options.add_argument('--disable-gpu')   # 禁用GPU硬體加速。如果軟體渲染器沒有就位,則GPU進程將不會啟動。chrome_options.add_argument('--disable-dev-shm-usage')  chrome_options.add_argument('--window-size=1920,1080')  # 設置當前窗口的寬度和高度  driver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)  #driver = webdriver.Chrome()  driver.get("https://www.cnblogs.com/yoyoketang/")    print(driver.page_source)  driver.quit()

運行程式碼

python3 test_demo.py

頁面出現「上海-悠悠」部落格首頁的內容,那就運行成功了

Copyright © 2019 上海-悠悠  <br><span id="poweredby">Powered by .NET Core 3.0.0-preview9-19423-09 on Linux</span>        </div><!--end: footer -->  </div><!--end: home 自定義的最大容器 -->    </body></html>

linux上運行selenium效率會提升很多喲!