Linux版本:阿里云CentOS Linux release 7.2.1511 (Core)
root用户下
python版本python3.6,python3安装方法https://www.cnblogs.com/FZfangzheng/p/7588944.html
测试时间:2019-04-16
1.安装chrome浏览器
1.1 创建yum源文件
cd /etc/yum.repos.d/
touch google-chrome.repo
1.2 输入yum源信息
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
1.3 安装google chrome
yum -y install google-chrome-stable --nogpgcheck
2.安装chromedriver及selenium
yum install chromedriver#此处应该注意chromedriver版本是否与chrome版本是否一致,如果不一致,请手动下载chromedriver驱动并替换
pip install selenium
chromedriver手动下载地址:http://npm.taobao.org/mirrors…
默认安装路径:chromedriver: /usr/bin/chromedriver
3.修改配置来执行代码,及常见错误处理
3.1测试demo
#!/usr/bin/env python
# -*- coding=UTF-8 -*-
#测试代码
import time
from selenium import webdriver
def test():
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--headless') #浏览器无窗口加载
chromeOptions.add_argument('--disable-gpu') #不开启GPU加速
"""
解决报错:
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
"""
chromeOptions.add_argument('--disable-dev-shm-usage')
chromeOptions.add_argument('--no-sandbox')#以根用户打身份运行Chrome,使用-no-sandbox标记重新运行Chrome,禁止沙箱启动
#其它设置(可选):
#chromeOptions.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
#chromeOptions.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
#chromeOptions.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36") #伪装其它版本浏览器,有时可以解决代码在不同环境上的兼容问题,或者爬虫cookie有效性保持一致需要设置此参数
#创建driver对象
#chrome_options=chromeOptions加载设置
#executable_path="/usr/bin/chromedriver"指定webdriver路径(可选)
driver = webdriver.Chrome(chrome_options=chromeOptions,executable_path="/usr/bin/chromedriver")
try:
driver.get("http://www.baidu.com")
time.sleep(3)
print(driver.page_source)
except Exception as e:
print(e)
finally:
driver.quit()
if __name__ == '__main__':
test()
4.参考资料
https://www.cnblogs.com/ianduin/p/8727333.html
https://www.cnblogs.com/baijing1/p/9751399.html
https://www.cnblogs.com/z-x-y/p/9507467.html