此问题在此处已有答案:
Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided using GeckoDriver(10个答案)
19天前关闭
我正在尝试使用Selenium学习Web测试自动化,我面临以下问题:我创建了一个虚拟环境,并安装了所有需要的Python库,可能需要提到的是,我想使用机器人框架与SeleniumLibrary。我使用的是PopOS,所以我下载了相应的geckodriver来与预装在操作系统中的Firefox安装一起工作。我根据SeleniumLibrary开发人员提供的示例编写了一个基本脚本并运行了它。然后我得到了错误 * 预期的浏览器二进制位置,但无法在默认位置找到二进制,没有提供'moz:firefoxOptions.binary'功能,并且命令行上没有设置二进制标志。对我来说奇怪的是,firefox可执行文件如预期的那样在/usr/bin中,所以我不知道在这种情况下我能做什么。我使用的是最新可用的稳定版本的网络驱动程序和浏览器。
我认为问题可能是虚拟环境试图访问一些它不允许的东西,所以我尝试更改firefox可执行文件的访问权限,但没有任何改变。
编辑:我尝试使用selenium webdriver中的FirefoxOptions将路径添加到Firefox二进制文件中,如下所示:
from selenium import webdriver
from selenium.webdriver import FirefoxOptions
options = FirefoxOptions()
options.binary=r"/usr/bin/firefox"
browser = webdriver.Firefox(options=options)
browser.get('https://google.com')
字符串
但还是没有成功。。现在它返回InvalidArgumentException:二进制文件不是Firefox可执行文件
同样,我指向的文件是Firefox可执行文件,并且可以正常打开。
1条答案
按热度按时间ffscu2ro1#
您可能需要为浏览器指定二进制。
字符串