You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint新系统安装后Chrome binary错误及Firefox适配问题求助

Selenium在Linux Mint下无法运行的问题解决

问题背景

刚安装Linux Mint系统,已配置Github、PyCharm,下载代码并安装Selenium等依赖包。此前在Ubuntu上可正常运行的Selenium代码,现在无法工作:Chrome首次运行会下载驱动但随后报错,改用Firefox后仍出现错误。


Chrome相关问题

原代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
s = Service(ChromeDriverManager().install())
chrome_options = Options()
chrome_options.add_experimental_option("detach",True)
"""
The browser will be started.
"""
browser = webdriver.Chrome(service=s, options=chrome_options)
browser.maximize_window()
browser.get("https://rahulshettyacademy.com")
print(browser.title)
browser.get("https://rahulshettyacademy.com/angularpractice/")
print(browser.title)

错误信息

/home/halovivek/PycharmProjects/yearcoding/venv/bin/python /home/halovivek/PycharmProjects/yearcoding/26092022_selenium1.py 
Traceback (most recent call last):
  File "/home/halovivek/PycharmProjects/yearcoding/26092022_selenium1.py", line 13, in <module>
    browser = webdriver.Chrome(service=s, options=chrome_options)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
    super().__init__(DesiredCapabilities.CHROME['browserName'], "goog",
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py", line 92, in __init__
    super().__init__(
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 270, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 363, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 428, in execute
    self.error_handler.check_response(response)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
Stacktrace:
#0 0x55d1d6012693 <unknown>
#1 0x55d1d5e0bb0a <unknown>
#2 0x55d1d5e2e46e <unknown>
#3 0x55d1d5e2c1f4 <unknown>
#4 0x55d1d5e67953 <unknown>
#5 0x55d1d5e61743 <unknown>
#6 0x55d1d5e37533 <unknown>
#7 0x55d1d5e38715 <unknown>
#8 0x55d1d60627bd <unknown>
#9 0x55d1d6065bf9 <unknown>
#10 0x55d1d6047f2e <unknown>
#11 0x55d1d60669b3 <unknown>
#12 0x55d1d603be4f <unknown>
#13 0x55d1d6085ea8 <unknown>
#14 0x55d1d6086052 <unknown>
#15 0x55d1d60a071f <unknown>
#16 0x7f5a5a21a1da <unknown>
#17 0x7f5a5a2a2d84 <unknown>


Process finished with exit code 1

解决方法

错误提示cannot find Chrome binary,说明系统未安装Chrome,或Selenium无法定位Chrome的安装路径:

  • 若未安装Chrome,打开终端执行:
    sudo apt install google-chrome-stable
    
  • 若已安装Chrome仍报错,在代码中指定Chrome二进制文件路径:
    chrome_options = Options()
    # 路径一般为/usr/bin/google-chrome-stable,可根据实际情况调整
    chrome_options.binary_location = "/usr/bin/google-chrome-stable"
    chrome_options.add_experimental_option("detach",True)
    

Firefox相关问题

原代码

import os
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from webdriver_manager.firefox import GeckoDriverManager
#options = Options()
options = webdriver.FirefoxOptions()
options.binary_location = r"/usr/bin/"
options.add_argument("start-maximized")
options.add_experimental_option("detach", True)
service = FirefoxService(log_path=os.devnull,)
browser = webdriver.Firefox(service= FirefoxService(GeckoDriverManager().install()), options=options)
#browser = webdriver.Firefox(service=service,options=options,)
capabilities = webdriver.FirefoxOptions().to_capabilities()
options.set_capability("cloud:options", capabilities)


browser.maximize_window()
browser.implicitly_wait(5)
browser.get("https://the-internet.herokuapp.com/windows")
print(browser.title)

错误信息

/home/halovivek/PycharmProjects/yearcoding/venv/bin/python /home/halovivek/PycharmProjects/yearcoding/27092002_selenium3.py 
[WDM] - Downloading: 16.2kB [00:00, 11.9MB/s]                   
Traceback (most recent call last):
  File "/home/halovivek/PycharmProjects/yearcoding/27092002_selenium3.py", line 15, in <module>
    browser = webdriver.Firefox(service= FirefoxService(GeckoDriverManager().install()), options=options)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py", line 177, in __init__
    super().__init__(
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 270, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 363, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 428, in execute
    self.error_handler.check_response(response)
  File "/home/halovivek/PycharmProjects/yearcoding/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: binary is not a Firefox executable


Process finished with exit code 1

解决方法

错误提示binary is not a Firefox executable,因为binary_location被设置为目录而非可执行文件:

  • 若未安装Firefox,执行:
    sudo apt install firefox
    
  • 修改代码中的binary_location为Firefox实际路径(一般为/usr/bin/firefox),同时注意Firefox不支持add_experimental_option("detach", True),需删除该行。简化后的代码如下:
    from selenium import webdriver
    from selenium.webdriver.firefox.service import Service as FirefoxService
    from webdriver_manager.firefox import GeckoDriverManager
    
    options = webdriver.FirefoxOptions()
    options.binary_location = "/usr/bin/firefox"
    options.add_argument("start-maximized")
    
    service = FirefoxService(GeckoDriverManager().install())
    browser = webdriver.Firefox(service=service, options=options)
    
    browser.implicitly_wait(5)
    browser.get("https://the-internet.herokuapp.com/windows")
    print(browser.title)
    

内容的提问来源于stack exchange,提问作者vivek rajagopalan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:20:36