Ubuntu服务器操作系统没有窗口界面,使用selenium模块时需要安装headless版的chrome浏览器,此种业务场景较多,特记录坏境配置教程如下。
当系统有关目录没有chromedriver时,运行代码后会报以下错误:
Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
解决方法如下。
一,安装合适的chrome浏览器及配套的chrome driver,需要是ubuntu(linux)的版本。
1.检查当前系统的chrome浏览器版本;
命令:google-chrome --version
2. 检查chrome driver 版本;
命令:chromedriver --version
说明:如未安装,无疑会查看失败,下面安装好后,可重新查看,两者版本尽量确保一致。
3. 下载并安装最新的Google Chrome版本
执行如下命令:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb apt --fix-broken install (某种修复) sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb
(第一次安装可能失败,执行apt --fix-broken install命令后,再次尝试安装,预计会成功)
安装成功后,使用 google-chrome --version 检查版本,确保成功并记住版本号,以便选择配套的 chrome driver 版本。
4. 下载并安装最新的amd64 chromedriver版本
链接地址:
https://chromedriver.storage.googleapis.com/index.html
打开以上网址,可以查看到各种对应chrome浏览器的chromedriver版本,选择配套的版本。
下载后解压得到chromedriver
解压缩命令:unzip chromedriver_linux64.zip
然后添加执行权限:chmod +x chromedriver
把它移动到“/usr/bin”目录下:sudo mv chromedriver /usr/bin/
说明:具体下载-解压-移动-添权方法不限,成功后确保版本配套(chromedriver --version)
另外,版本未必需要完全相同,以确保代码能正常运转为准!
二,python3基本配套代码示例
注意:代码的chrome_options设置错误可能导致各种异常。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# 设置谷歌浏览器基本设置
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
# 启动新的浏览器(无界面的)
driver = webdriver.Chrome(options=chrome_options)
driver.implicitly_wait(15)
# 获取指定网页
test_url = "https://www.baidu.com/"
driver.get(test_url)
print(driver.title)
# 具体业务操作(省略)
# 程序结束后,释放资源
driver.close()
driver.quit()