[Web自动化] Selenium设置相关执行文件路径

10.7 Selenium设置相关执行文件路径

10.7.1 设置驱动文件位置

Selenium在启动浏览器时,需要指定浏览器驱动(如chromedriver、geckodriver等)的位置。设置驱动文件位置的方法主要有以下几种:

  1. 将驱动文件放在系统环境变量中
    • 将浏览器驱动的完整路径添加到系统的PATH环境变量中。这样,Selenium在启动时就可以自动找到驱动文件,而无需在代码中指定路径。
    • 注意:这种方法的好处是代码简洁,但缺点是如果系统中有多个版本的驱动或需要在不同项目中使用不同版本的驱动,可能会带来管理上的不便。
  2. 在代码中指定驱动文件位置
    • 如果不将驱动添加到系统环境变量,可以在Selenium的初始化代码中直接指定驱动文件的路径。这通常通过传递一个包含驱动路径的Service对象或指定executable_path参数来实现(尽管executable_path参数已被弃用,推荐使用Service对象)。
    • 示例代码(使用Service对象):
python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
service = Service(executable_path='/path/to/chromedriver')
driver = webdriver.Chrome(service=service)
  • 注意:请将'/path/to/chromedriver'替换为你的chromedriver驱动文件的实际路径。

10.7.2 设置浏览器程序位置

在使用 Selenium 启动浏览器时,如果浏览器可执行文件不在你的系统路径(PATH)中,你需要指定浏览器的路径。

py 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 指定Chrome浏览器的路径
chrome_binary_path = '/path/to/chrome.exe'
# 创建ChromeOptions对象
options = Options()
options.binary_location = chrome_binary_path
# 创建WebDriver对象时传递ChromeOptions
driver = webdriver.Chrome(options=options)

10.7.3 设置用户目录

Selenium在启动浏览器时,默认会使用一个新的用户数据目录(profile),这意味着它不会加载浏览器中的现有数据(如Cookies、书签等)。如果需要加载特定的用户数据目录,可以通过设置ChromeOptions的user-data-dir参数来实现。

  1. 在代码中设置用户目录位置
    • 通过创建ChromeOptions对象,并使用add_argument方法添加--user-data-dir参数来指定用户数据目录的路径。

示例代码:

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--user-data-dir=/path/to/your/profile')
driver = webdriver.Chrome(options=options)
  • 注意:请将'/path/to/your/profile'替换为你想要加载的用户数据目录的实际路径。这个路径应该是一个已经存在的目录,Selenium将在这个目录中查找和保存用户数据。

10.7.4 带插件启动

py 复制代码
option = webdriver.ChromeOptions()
option.add_extension('D:\谷歌方案\IE_Tab_for_Chrome-10.5.10.1.crx')  # 自己下载的crx路径
driver = webdriver.Chrome(chrome_options=option)
driver.get("chrome-extension://hehijbfgiekmjfkfjpbkbammjbdenadd/nhc.htm#url=http://10.190.32.54:7001/default/index.jsp")  # 利用浏览器对象打开网页地址
相关推荐
weixin_423533991 天前
【ubuntu20.04安装nvidia显卡驱动及pytorch】
python
程序员Forlan1 天前
fiddler+手机或模拟器进行APP抓包
前端·智能手机·fiddler
I疯子1 天前
2026-04-08 打卡第 5 天
开发语言·windows·python
aidou13141 天前
Vue3自定义实现日期选择器(可单选或多选)
前端·javascript·vue.js·日期选择器·transition
C+++Python1 天前
Python MCP Server 最简实现
开发语言·python
zhuhezhang1 天前
一个用python开发的文本对比工具
python·文本对比工具
绝世唐门三哥1 天前
OpenClaw 安装 + 手动配置 DeepSeek 模型(2026.4.5 版)
前端·oepn claw
智算菩萨1 天前
【Python图像处理】5 Pillow图像处理与格式转换
图像处理·python·pillow
来一颗砂糖橘1 天前
吃透 ES6 扩展运算符(...):从表面语法到底层逻辑,避开所有坑
前端·javascript·es6·扩展运算符·前端进阶
前端小D1 天前
JS模块化
开发语言·前端·javascript