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

Python+Selenium脚本报错:cannot find Chrome binary问题求助

解决Chrome Binary找不到的错误及代码优化

核心错误原因

你遇到的cannot find Chrome binary错误,是因为代码中设置了ChromeOptions但没有将其传入浏览器实例,还重复初始化了两次Chrome浏览器,导致配置没有生效。

分步修复及优化

1. 正确配置Chrome浏览器实例

  • 只初始化一次浏览器,将ChromeOptions和Service一起传入webdriver.Chrome
  • 确保binary_location指向你的Chrome.exe实际路径,executable_path指向chromedriver.exe路径

2. 修复元素定位错误

  • find_element_by_class_name("bg-disabled")前面必须指定浏览器实例(比如browser.),否则会报NameError
  • 绝对XPath(/html/body/...)非常不稳定,建议根据页面结构改用相对定位,比如结合日期文本或父元素定位

3. 优化禁用日期的判断逻辑

is_enabled()方法不一定适用于通过CSS class标记的禁用元素,直接检查元素是否包含bg-disabled类更可靠

修正后的完整代码

import datetime
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

# 配置Chrome选项和服务
options = webdriver.ChromeOptions()
options.binary_location = r"C:\Users\Admin\AppData\Local\Google\Chrome\Application\chrome.exe"
driver_service = Service(executable_path=r"C:\Users\Admin\Desktop\Test\chromedriver.exe")

# 初始化浏览器(仅一次)
browser = webdriver.Chrome(service=driver_service, options=options)
url = "你的目标URL"
browser.get(url)

def next_7_dates():
    today = datetime.datetime.today()
    date_list = []
    for x in range(0,7):
        new_date = today + datetime.timedelta(days=x)
        date_list.append(new_date.strftime('%Y-%m-%d'))
    return date_list

# 获取未来7天日期并检查每个日期的状态
target_dates = next_7_dates()
available = False

for date_str in target_dates:
    try:
        # 假设日期元素的文本是YYYY-MM-DD格式,用相对XPath定位
        date_element = browser.find_element(By.XPATH, f"//*[text()='{date_str}']")
        # 检查元素是否包含禁用类
        if "bg-disabled" not in date_element.get_attribute("class"):
            print(f"日期 {date_str} 可预约")
            available = True
    except:
        print(f"未找到日期 {date_str} 的元素")

if not available:
    print("未来7天无可用预约")

# 关闭浏览器
browser.quit()

额外提示

  • 确保chromedriver的版本和你的Chrome浏览器版本完全匹配,版本不兼容也会导致各种异常
  • 建议使用WebDriverWait显式等待元素加载,避免因页面未加载完成导致的元素找不到错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:45:35