selenium4如何指定chrome和firefox的驱动(driver)路径
创始人
2024-11-17 07:34:08
0

python+pytest+selenium框架的自动化测试脚本。

原本用的chrome,很久没用了,今天执行,发现chrome偷偷升级,我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难,决定弃用chrome,改用firefox。因为,firefox可以自己决定是否升级浏览器:

改倒是很快,问题是,改完了执行的时候发现,有时候可以,有时候找不到driver。。。。因为我是这么用的:

driver = webdriver.Firefox()

这里未指定geckodriver的路径,默认使用执行目录下的driver。

浏览器驱动放在项目的根目录下,执行时,若从项目根目录下的pytest.main()执行,自然没有问题。但是当我写脚本,单独调试的时候,执行目录变成每一个test case所在的目录,即%项目根目录%/case/子目录/test_XXX.py

所以,它找不到浏览器驱动。。。

我需要指定浏览器驱动的位置,让它每次都去同一个地方找。网上搜了一圈,要么是chromedriver的指定方法,要么是让我用参数execute_path指定路径,但是,运行时发现这个参数非法。。。

自己去查官网API(7. WebDriver API — Selenium Python Bindings 2 documentation),一打开看到这样一个列表

受到启发,于是仿着chrome,指定了firefox驱动的路径,如下:

指定chrome driver的路径

import sys import os from selenium import webdriver from selenium.webdriver.chrome.service import Service  driver_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.executable)))),'chromedriver.exe') service = Service(executable_path=driver_path) options = webdriver.ChromeOptions() driver = webdriver.Chrome(service=service, options=options)

指定firefox driver的路径

import sys import os from selenium import webdriver from selenium.webdriver.firefox.options import Options   driver_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.executable)))),                                'geckodriver.exe') service = Service(executable_path=driver_path) options = webdriver.FirefoxOptions() driver = webdriver.Firefox(service=service, options=options)

相关内容

热门资讯

九分钟了解!wepoker有插... 九分钟了解!wepoker有插件吗,wepoker辅助器有哪些功能,手筋教程(有挂教程)1、操作简单...
一分钟辅助!四川熊猫辅助软件视... 一分钟辅助!四川熊猫辅助软件视频(辅助挂)原来是真的辅助器(有挂神器)四川熊猫辅助软件视频脚本下载中...
第7分钟了解!we poker... 第7分钟了解!we poker辅助器,wpk私人辅助,模板教程(果真有挂)1、玩家可以在we pok...
八分钟辅助!全民奇迹脚本(辅助... 八分钟辅助!全民奇迹脚本(辅助挂)好像有辅助器(有挂详细)1、操作简单,无需全民奇迹脚本手机版透视脚...
八分钟了解!we poker免... 八分钟了解!we poker免费辅助器,wepokerplus万能挂,法门教程(有挂详情)1、进入到...
一分钟辅助!潮汕掌上娱辅助器小... 一分钟辅助!潮汕掌上娱辅助器小说(辅助挂)一贯是真的辅助脚本(有挂秘笈)1)潮汕掌上娱辅助器小说有没...
八分钟了解!wepoker看底... 八分钟了解!wepoker看底牌,wepoker辅助透视,绝活教程(有挂透视)该软件可以轻松地帮助玩...
第6分钟辅助!789大菠萝如何... 第6分钟辅助!789大菠萝如何手气顺(辅助挂)一直是真的辅助挂(有挂教学)1、下载好789大菠萝如何...
4分钟了解!德普之星app安卓... 4分钟了解!德普之星app安卓版破解版,pokemmo手机脚本,手筋教程(真是有挂)小薇(辅助器软件...
9分钟辅助!欢乐联盟卡五星辅助... 9分钟辅助!欢乐联盟卡五星辅助(辅助挂)本来是有辅助挂(有挂细节)1、全新机制【欢乐联盟卡五星辅助a...