一、安装chrome浏览器并安装webdriver

1、下载chrome的ubuntu版本

https://www.google.com/chrome/网址去选择平台。

2、ubuntu安装chrome

sudo apt install ./google-chrome-stable_current_amd64.deb -y

3、查看chrome的版本。

google-chrome --version

4、下载对应版本的chrome的webdriver

https://googlechromelabs.github.io/chrome-for-testing/
(一)手动下载匹配版本(适配自定义Chrome版本,精准无兼容问题)
查看当前Chrome版本

bash
  
google-chrome --version
 

去ChromeDriver官网(https://googlechromelabs.github.io/chrome-for-testing/)下载对应版本的Linux版压缩包,下载后解压,执行命令移到系统可识别路径

bash
  
unzip chromedriver-linux64.zip
sudo mv chromedriver-linux64/chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver

 
验证安装成功

bash
  
chromedriver --version

 

(二)、安装 Firefox + GeckoDriver

1. 安装Firefox浏览器,无则执行

bash
  
sudo apt update && sudo apt install -y firefox

 

2. 安装GeckoDriver(Firefox专属WebDriver)

bash
  
sudo apt install -y geckodriver

 

3. 验证安装成功

 
bash
  
geckodriver --version

 

(三)、 关键配置(解决Python Selenium调用报错)

1. 给WebDriver添加执行权限(避免权限不足报错)

bash
  
sudo chmod +x /usr/local/bin/chromedriver  # 对应ChromeDriver
sudo chmod +x /usr/bin/geckodriver         # 对应GeckoDriver

 

2. Python中调用示例(直接运行即可验证)

python
  
# Chrome + ChromeDriver 调用
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

 

(四)、 常见问题快速解决

  • 报错“版本不匹配”:卸载现有WebDriver,按方法2手动下载与浏览器完全一致的版本
  • 报错“找不到WebDriver”:执行  echo $PATH  查看  /usr/local/bin  或  /usr/bin  是否在路径中,不在则手动添加
  • 权限报错:重新执行上述的  chmod +x  命令赋予执行权限

5、针对本机的chrome版本,在这里下载

https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.169/linux64/chrome-linux64.zip

6、在本机创建一个chrome的调试目录

mkdir -p /tmp/chrome-debug-new  # 自动创建父目录,无则新建

 

持久目录(长期复用,如自动化测试专用)
bash

mkdir -p ~/.chrome-debug-profile  # 存用户主目录,不易丢失

 

7. 带调试参数启动新用户目录的Chrome

bash

# 示例,替换路径即可用持久目录

google-chrome --remote-debugging-port=9222 --remote-debugging-address=127.0.0.1 --user-data-dir=~/.chrome-debug-profile --no-sandbox

 

后台常驻版(关闭终端不退出)
bash

nohup google-chrome --remote-debugging-port=9222 --remote-debugging-address=127.0.0.1 --user-data-dir=/tmp/chrome-debug-new --no-sandbox > /dev/null 2>&1 &

 

8. 验证新目录与调试生效

① 查调试接口:浏览器访问 http://127.0.0.1:9222,能看到调试界面即成功
② 确认用户目录:新目录下出现Chrome配置文件(如Default、Cache),说明目录生效
bash

ls /tmp/chrome-debug-new  # 临时目录示例

 

二、多用户目录并行调试(同时开2个独立调试实例)

bash
  
# 实例1:端口9222,目录/tmp/chrome-debug-1
nohup google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug-1 --no-sandbox > /dev/null 2>&1 &
# 实例2:端口9223,目录/tmp/chrome-debug-2
nohup google-chrome --remote-debugging-port=9223 --user-data-dir=/tmp/chrome-debug-2 --no-sandbox > /dev/null 2>&1 &

 

分别访问 http://127.0.0.1:9222http://127.0.0.1:9223 即可独立调试。

三、Python Selenium 连接新目录调试实例

python

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_options)
print(driver.title)  # 输出当前页面标题,验证连接成功
driver.get("https://www.baidu.com")

 

四、关键参数说明

  • --user-data-dir=路径:强制Chrome使用指定目录存储配置、缓存等,与默认目录完全隔离[__LINK_ICON]
  • --remote-debugging-port=9222:调试端口,多实例需用不同端口(如9222/9223)
  • --no-sandbox:Ubuntu下root用户必加,普通用户可选,避免权限报错

五、常见问题

  • 权限报错:执行  chmod -R 755 /tmp/chrome-debug-new  赋予目录读写权限
  • 端口占用:换未被占用端口,用  ss -tuln | grep 9222  检查端口占用情况

标签: none

添加新评论