1.selenium

1.版本对应

chromedriver版本支持的Chrome版本
v2.40 v66-68
v2.39 v66-68
v2.38 v65-67
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.下载地址

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

https://www.slimjet.com/chrome/google-chrome-old-version.php

3.坑

使用虚拟环境安装

1.安装浏览器不然会报错:

报错A:cannot find Chrome binary
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.9.248304,platform=Linux 3.16.0-0.bpo.4-amd64 x86_64)
该错误就是没有安装google浏览器

方法1:使用dpkg安装,可能的问题就是缺少各种包,因为最新的google浏览器需要linux的比较新的lib,一般可能会报错
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get -f install


方法2:使用apt-get安装
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install chromium-browser

备注:
对于方法一中出现lib版本不符合要求的情况(一般是linux系统版本比较老)
因为版本的问题的话就下载历史版本:Google Chrome Linux Version
https://www.slimjet.com/chrome/google-chrome-old-version.php
安装方法同方法1

另外:安装好chrome浏览器后出现错误Chrome failed to start: exited abnormally
需要安装缺少的python库, Start the Display before start the Chrome.
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.9.248304,platform=Linux 3.2.0-4-amd64 x86_64)

解决:
pip install pyvirtualdisplay
sudo apt-get install xvfb


2.下载Chrome Driver

版本不对时报错:
selenium.common.exceptions.WebDriverException: Message: Service /home/env/cpython/bin/chromedriver unexpectedly exited. Status code was: 127

https://chromedriver.storage.googleapis.com/2.4/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod 755 chromedriver
./chromedriver 可能版本不对出现如下错误,下载其他版本重试
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./chromedriver)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by ./chromedriver)

./chromedriver 出现以下信息就是版本正确
Starting ChromeDriver (v2.9.248304) on port 9515



3.虚拟环境
pip install selenium

4.测试
from selenium import webdriver
from pyvirtualdisplay import Display # 低版本需要

display = Display(visible=0, size=(800, 800))
display.start()

url = "http://demo.testfire.net"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get("https://cnblogs.com/")
print driver.title

driver.quit()
display.close()

  

posted @ 2018-07-09 10:52  桃源仙居  阅读(278)  评论(0)    收藏  举报