Ubuntu18.04安装Selenium和环境搭建

1. Python安装Selenium模块

pip install Selenium 

2. 下载浏览器驱动

  1. chrome驱动文件下载:http://chromedriver.storage.googleapis.com/index.html
  2. firefox驱动文件下载: https://github.com/mozilla/geckodriver/releases
  3. chrome浏览器需要下载对应版本的驱动,不然会报错,找不到一致的版本号就找大版本号一样的。我这里就是版本没对应,所以程序报错了。

在浏览器地址栏输入 chrome://version/查看chrome浏览器版本号
Ubuntu18.04安装Selenium和环境搭建_第1张图片

Ubuntu18.04安装Selenium和环境搭建_第2张图片
Ubuntu18.04安装Selenium和环境搭建_第3张图片
异常信息:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 78

3. 解压驱动文件

  1. zip格式可以用unzip命令解压
unzip chromedriver_linux64.zip
  1. gz格式用tar命令解压
tar -zxvf geckodriver-v0.27.0-linux64.tar.gz
  1. 解压出来有两个可执行文件chromedriver和geckodriver

Ubuntu18.04安装Selenium和环境搭建_第4张图片
4. 注意可执行文件名字不能更改,否则会报错。
Ubuntu18.04安装Selenium和环境搭建_第5张图片

Ubuntu18.04安装Selenium和环境搭建_第6张图片

4. 环境配置

  1. 将解压后的可执行文件移动到系统环境变量的目录中,输入 echo $PATH 查看系统环境变量。环境变量不一定相同。
    Ubuntu18.04安装Selenium和环境搭建_第7张图片
  2. 我这里是将存放驱动的目录配置到系统变量中的,我觉得这样比较方便扩展,而且也不会担心之后忘了放哪里的。
  3. 当然也可以选择移动到系统的环境变量,比如移动到/usr/local/bin目录下。
sudo mv chromedriver /usr/local/bin/
sudo mv geckodriver  /usr/local/bin/

Ubuntu18.04安装Selenium和环境搭建_第8张图片

5. 验证环境

  1. 在终端输入chromedriver和geckodriver验证。输出如图下就代表环境配置成功了。
    Ubuntu18.04安装Selenium和环境搭建_第9张图片
  2. 如下显示则表示失败了。
    Ubuntu18.04安装Selenium和环境搭建_第10张图片

6. pycharm编写代码测试

测试代码,正常运行会输出url地址的html源码。

  1. Firefox
from selenium import webdriver

url = "https://www.baidu.com"
driver = webdriver.Firefox()
driver.get(url)
print(driver.page_source)
driver.close()
  1. Chrome
from selenium import webdriver

url = "https://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)
print(driver.page_source)
driver.close()

7. 运行出现异常

  1. 如果出现以下异常参考这篇博客解决 以root权限运行浏览器
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

你可能感兴趣的:(Python,python,linux,selenium)