如何解决Firefox WebDriver的firefox_binary参数传入错误?
解决方法
问题根源是Selenium 4.x版本彻底重构了浏览器驱动和选项的初始化方式,原来的firefox_binary和executable_path参数已经不再被WebDriver构造函数支持,得换成新的写法:
- 用
FirefoxOptions类指定浏览器二进制文件路径 - 用
Service类管理驱动文件路径 - 在
Create webdriver中传入这两个对象
修改后的Robot Framework代码:
Open Page [Arguments] ${serverurl} ${browser} ${browserpath} ${driverpath} ${firefox_options}= Evaluate from selenium.webdriver.firefox.options import Options; Options() Call Method ${firefox_options} set_binary ${browserpath} ${firefox_service}= Evaluate from selenium.webdriver.firefox.service import Service; Service(${driverpath}) Create Webdriver ${browser} options=${firefox_options} service=${firefox_service} Go To ${serverurl} Maximize Browser Window
关键改动说明
- 用
Evaluate关键字导入并初始化Selenium的Options和Service类 - 通过
Call Method调用set_binary方法设置Firefox浏览器路径,替代原来的firefox_binary参数 - 用
Service类封装驱动路径,替代原来的executable_path参数 - 在
Create Webdriver中通过options和service参数传入配置
内容的提问来源于stack exchange,提问作者Mobin Nikrou
相关产品推荐
相关产品推荐

