Selenium运行Python代码报错:未找到Firefox二进制文件位置
解决Selenium启动Firefox时的SessionNotCreatedException错误
你的问题核心是初始化Firefox驱动时未传入配置好的options对象,导致你设置的binary_location完全未生效,Selenium仍在默认路径查找Firefox二进制文件,最终抛出找不到浏览器的错误。
修正后的代码
from selenium.webdriver.firefox.options import Options from selenium.webdriver.firefox.service import FirefoxService from webdriver_manager.firefox import GeckoDriverManager from selenium import webdriver options = Options() options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe' options.set_preference('dom.webnotifications.enabled', False) options.headless = True # 关键:将配置好的options传入驱动初始化方法 driver = webdriver.Firefox( service=FirefoxService(GeckoDriverManager().install()), options=options )
补充说明
既然你已确认Firefox可执行文件已加入系统PATH,其实可以省略options.binary_location这一行,Selenium会自动通过PATH定位到Firefox。但保留该配置也能正常运行,相当于明确指定路径避免潜在的查找歧义。
内容的提问来源于stack exchange,提问作者Ian Hunt
相关产品推荐
相关产品推荐

