Watir无法启动Firefox:偏好设置参数错误问题求助
问题描述
尝试用Watir启动Firefox时使用如下代码:
browser = Watir::Browser.new :firefox, options: {prefs: {'intl'=> {'accept_languages'=> 'en-US'}}}
持续触发错误:
Preference values not all string or integer or boolean (Selenium::WebDriver::Error::InvalidArgumentError)
已安装geckodriver-bin 0.28.0,但问题未解决,求解决建议。
解决建议
- 改用扁平结构的偏好设置,Geckodriver不支持嵌套哈希格式的prefs,直接把完整的偏好路径作为键名:
browser = Watir::Browser.new :firefox, options: {prefs: {'intl.accept_languages' => 'en-US'}} - 检查Firefox版本与geckodriver的兼容性:0.28.0版本的geckodriver仅支持Firefox 68-70区间,若你的Firefox版本过高,需升级geckodriver到匹配版本。
- 确认geckodriver已加入系统PATH,或在代码中直接指定驱动路径:
Selenium::WebDriver::Firefox.driver_path = '/你的geckodriver所在路径/geckodriver' browser = Watir::Browser.new :firefox, options: {prefs: {'intl.accept_languages' => 'en-US'}} - 暂时简化prefs配置,只保留
intl.accept_languages这一项,排除其他可能冲突的偏好设置。
内容的提问来源于stack exchange,提问作者kacper
相关产品推荐
相关产品推荐

