[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")  # 利用浏览器对象打开网页地址
相关推荐
石去皿2 小时前
大模型面试通关指南:28道高频考题深度解析与实战要点
人工智能·python·面试·职场和发展
雯0609~2 小时前
hiprint:实现项目部署与打印1-官网提供普通html版本
前端·html
jasligea2 小时前
构建个人智能助手
开发语言·python·自然语言处理
测试秃头怪2 小时前
面试大厂就靠这份软件测试八股文了【含答案】
自动化测试·软件测试·python·功能测试·面试·职场和发展·单元测试
测试杂货铺2 小时前
软件测试面试题大全,你要的都在这。。
自动化测试·软件测试·python·功能测试·面试·职场和发展·测试用例
测试大圣2 小时前
软件测试基础知识总结(超全的)
软件测试·python·功能测试·测试工具·职场和发展·单元测试·测试用例
不绝1912 小时前
UGUI——进阶篇
前端
sww_10262 小时前
RAG检索增强 ETL最佳实战
人工智能·python·spring
Exquisite.3 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql