基于linux配置selenium環(huán)境并實現(xiàn)運行
一、在linux中使用selenium
1、安裝chrome
用下面的命令安裝Google Chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
也可以先下載至本地,然后安裝
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm
安裝必要的庫
yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts
2、安裝 chromedriver(末尾附chrome和chromedriver的對應(yīng)版本)
chrome官網(wǎng)
wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
淘寶源(推薦)
wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip
將下載的文件解壓,放在如下位置
unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/
給予執(zhí)行權(quán)限
chmod +x /usr/bin/chromedriver
3、運行代碼,查看是否成功(python下)
from selenium import webdriver
driver = webdriver.Chrome()
------------2019年兼容版本對照表-----------
ChromeDriver 78.0.3904.11 (2019-09-12)---------Supports Chrome version 78
ChromeDriver 77.0.3865.40 (2019-08-20)---------Supports Chrome version 77
ChromeDriver 76.0.3809.12 (2019-06-07)---------Supports Chrome version 76
ChromeDriver 75.0.3770.8 (2019-04-29)---------Supports Chrome version 75
ChromeDriver v74.0.3729.6 (2019-03-14)--------Supports Chrome v74
ChromeDriver v2.46 (2019-02-01)----------Supports Chrome v71-73
二、chrome無界面模式運行
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--no-sandbox')#解決DevToolsActivePort文件不存在的報錯 chrome_options.add_argument('window-size=1920x3000') #指定瀏覽器分辨率 chrome_options.add_argument('--disable-gpu') #谷歌文檔提到需要加上這個屬性來規(guī)避bug chrome_options.add_argument('--hide-scrollbars') #隱藏滾動條, 應(yīng)對一些特殊頁面 chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加載圖片, 提升速度 chrome_options.add_argument('--headless') #瀏覽器不提供可視化頁面. linux下如果系統(tǒng)不支持可視化不加這條會啟動失敗 #創(chuàng)建瀏覽器對象 driver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path:瀏覽器驅(qū)動路徑 driver.get(url)
三、無界面模式下下載文件
以前,以無頭模式運行的Chromedriver無法正確下載文件,原因是它稀疏地解析提供給它的首選項文件。無頭Chrome團(tuán)隊的工程師建議使用DevTools的“ Page.setDownloadBehavior”來解決此問題。此變更列表實現(xiàn)此修復(fù)程序。下載的文件默認(rèn)為當(dāng)前目錄,可以在實例化chromedriver實例時使用download_dir進(jìn)行設(shè)置。還添加了測試以確保正確的下載功能。
params = {'behavior': 'allow', 'downloadPath': r'C:\Users\Debanjan.B\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior', params)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Linux中PostgreSQL和PostGIS的安裝和使用
這篇文章主要介紹了詳解Linux中PostgreSQL和PostGIS的安裝和使用,并把需要注意點做了分析和解釋,需要的朋友學(xué)習(xí)下。2018-02-02Linux系統(tǒng)下Tomcat8啟動速度很慢的解決方法
這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下Tomcat8啟動速度很慢的解決方法,需要的朋友可以參考下2017-08-08Linux集群/分布式環(huán)境下session處理的五種策略詳解
這篇文章主要給大家介紹了關(guān)于Linux集群/分布式環(huán)境下session處理的五種策略,文中通過示例代碼及圖片介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09在Linux系統(tǒng)上查看Apache服務(wù)器的錯誤日志
這篇文章主要介紹了在Linux系統(tǒng)上查看Apache服務(wù)器的錯誤日志,是服務(wù)器運維必備的基礎(chǔ)知識,需要的朋友可以參考下2015-07-07騰訊云服務(wù)器Centos掛載數(shù)據(jù)盤的方法
這篇文章主要介紹了騰訊云服務(wù)器Centos掛載數(shù)據(jù)盤的方法,參考了網(wǎng)上一些資料,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10使用networkctl查詢Linux中網(wǎng)絡(luò)鏈接狀態(tài)的方法
networkctl?是?systemd?網(wǎng)絡(luò)管理工具的一個命令行工具,它用于查看和管理網(wǎng)絡(luò)鏈接狀態(tài),在這篇文章中,我們將詳細(xì)介紹如何使用?networkctl?查詢和管理?Linux?系統(tǒng)中的網(wǎng)絡(luò)連接狀態(tài),需要的朋友可以參考下2024-05-05