Selenium无法找到Chromium:Python脚本运行故障求助
解决Selenium找不到Chromium的问题
你的问题出在ChromeDriverManager默认会搜索google-chrome、google-chrome-stable这类Chrome系列可执行文件,但你实际安装的是chromium-browser且路径为/usr/bin/chromium-browser,所以需要修改脚本让Selenium定位到正确的浏览器。
下面是两种可行的修改方案:
方案一:直接指定Chromium二进制文件路径
在初始化Options对象后,添加代码指定Chromium的位置:
options = Options() # 添加这行指定Chromium路径 options.binary_location = "/usr/bin/chromium-browser" driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
方案二:配置ChromeDriverManager适配Chromium
ChromeDriverManager支持指定浏览器类型,在install()方法中传入chrome_type="chromium",让它自动识别Chromium路径:
driver = webdriver.Chrome(service=Service(ChromeDriverManager(chrome_type="chromium").install()), options=options)
修改后的完整代码片段(以方案一为例)
import pandas as pd from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By url = "[URL]" # 替换为实际目标URL loginid=input("id: ") loginpass=input("password: ") options = Options() # 指定Chromium的二进制文件路径 options.binary_location = "/usr/bin/chromium-browser" # 初始化浏览器驱动 driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) driver.get(url) driver.find_element(By.ID, "loginid").send_keys(loginid) driver.find_element(By.ID, "loginpass").send_keys(loginpass)
两种方案任选其一即可解决问题,另外如果你的本地chromedriver版本和Chromium完全匹配,也可以直接使用本地驱动路径替代ChromeDriverManager的调用,比如:
driver = webdriver.Chrome(service=Service('./chromedriver'), options=options)
内容的提问来源于stack exchange,提问作者Ray M
相关产品推荐
相关产品推荐

