没有什么开发环境是很容易就装上的。。。。
我是按照下面这个博客写的装的,但是经过自己的修改才成功。2018/6/9
一定严格按照博客里面的版本来,这个版本对不上报很多奇怪的错误的
如:selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilitie
如:selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1
如:selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 255
你要是在这个博客没找到解决方法可以按照这个思路来:
find / -name 'geckodriver.log' 全局查找火狐的驱动的日志
tail -100f geckodiver.log 看日志报什么错误
google 或百度这个错误。
桌面环境使用Selenium默认会打开浏览器界面,但是如果要部署在无桌面环境的服务器环境,使用普通方法没法运行Selenium。
在服务器环境安装Gnome或者其他桌面环境,比较占用资源。
可以通过安装虚拟桌面环境解决这个问题。
Xvfb(X virtual framebuffer)是一个虚拟显示服务器,不需要显示设备也能模拟运行图形界面。
系统要求:
- CentOS 7
- Firefox 56.0+
- Selenium 3.5+
- geckodriver 0.19+
安装
安装Xvfb及其他依赖
yum install xorg-x11-server-Xvfb bzip gtk3
安装火狐
CentOS源里的火狐版本为52.3.0 ESR延长支持版,版本较老,和最新的Selenium版本不兼容,可能会启动不了。从官方下载56.0以上的版本。
1234cd /usr/ localwget https://ftp.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2tar xjvf firefox-56.0.2.tar.bz2ln -s /usr/ local/firefox/firefox /usr/bin/firefox安装Seleniumwget
wget https://files.pythonhosted.org/packages/14/d6/650f5d2e149b83cd24989653efedf47a24cafb72e9d2dd03 191a9f52f2f4/selenium-3.8.1-py2.py3-none-any.whl pip install selenium-3.8.1-py2.py3-none-any.whl 这个一定要按照版本来
安装gtk3 gtk2 旧的火狐版本是需要gtk2 的,新的需要gtk3为了不报错。还是全装上吧,
yum install gtk3 yum install gtk2
安装火狐驱动
最新版本下载地址:https://github.com/mozilla/geckodriver/releases1234cd /usr/local/binwget https: //github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gztar xvzf geckodriver-*.tar.gzln -s /usr/local /geckodriver /usr /bin/geckodriver
6. 测试
1,控制台输入firefox
出现类似这个说明火狐安装成功。Error: GDK_BACKEND does not match available displays
2,测试爬虫脚本
from selenium import webdriver from pyvirtualdisplay import Display display = Display(visible=0, size=(800,600)) display.start() driver = webdriver.Firefox() driver.get('https://www.baidu.com') print(driver.title) driver.quit() display.stop()
输出:百度一下,你就知道说明安装成功。
吧下面的复制出来保存为installSelenium.sh 执行 sh installSelenium.sh即可安装
yum install xorg-x11-server-Xvfb bzip gtk3 cd /usr/local wget https://ftp.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2 tar xjvf firefox-56.0.2.tar.bz2 rm -f /usr/bin/firefox ln -s /usr/local/firefox/firefox /usr/bin/firefox wget https://files.pythonhosted.org/packages/14/d6/650f5d2e149b83cd24989653efedf47a24cafb72e9d2dd03191a9f52f2f4/selenium-3.8.1-py2.py3-none-any.whl pip uninstall selenium pip install selenium-3.8.1-py2.py3-none-any.whl yum install gtk3 yum install gtk2 cd /usr/local/bin wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz tar xvzf geckodriver-*.tar.gz rm -f /usr/bin/geckodriver ln -s /usr/local/geckodriver /usr/bin/geckodriver