Fedora37下Flatpak版PyCharm中Selenium调用Firefox报错求助
解决Flatpak版PyCharm调用RPM版Firefox的Selenium错误
问题根源
Flatpak应用运行在沙箱隔离环境中,默认无法直接访问主机系统/usr/bin目录下的二进制文件。你指定的/usr/bin/firefox对Flatpak版PyCharm来说处于沙箱外部,无法被正常识别,因此抛出“binary is not a Firefox executable”错误。
解决方案
方案1:给Flatpak版PyCharm添加文件访问权限
打开终端,根据你的PyCharm版本执行对应命令(社区版包名为com.jetbrains.PyCharm-Community,专业版为com.jetbrains.PyCharm-Professional):
# 仅允许访问Firefox二进制文件(推荐) flatpak override com.jetbrains.PyCharm-Community --filesystem=/usr/bin/firefox
或者允许访问整个/usr/bin目录(权限范围较大,不推荐):
flatpak override com.jetbrains.PyCharm-Community --filesystem=/usr/bin
执行命令后重启PyCharm,再运行代码测试。
方案2:改用Flatpak版Firefox
- 安装Flatpak版Firefox:
flatpak install org.mozilla.firefox
- 获取Flatpak版Firefox的二进制路径:
flatpak run org.mozilla.firefox --print-path
- 将代码中的
firefox_binary_path替换为上述命令输出的路径,示例:
firefox_binary_path = '/var/lib/flatpak/app/org.mozilla.firefox/current/active/export/bin/org.mozilla.firefox'
同时将geckodriver移至Flatpak允许访问的目录(如~/.local/bin),并在代码中更新对应路径。
方案3:使用主机版PyCharm
卸载Flatpak版PyCharm,改用RPM包安装或官方解压版PyCharm。主机环境下的PyCharm可直接访问/usr/bin下的Firefox和geckodriver,无需额外配置。
内容的提问来源于stack exchange,提问作者baseious
相关产品推荐
相关产品推荐

