linux Selenium WebDriver无法在默认位置找到浏览器[重复]

7ivaypg9  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(103)

此问题在此处已有答案

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可执行文件,并且可以正常打开。

ffscu2ro

ffscu2ro1#

您可能需要为浏览器指定二进制。

from selenium.webdriver import FirefoxOptions
from selenium import webdriver

options = FirefoxOptions()
options.binary = '/path/to/binary'
driver = webdriver.Firefox(options=opts)

字符串

相关问题