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

Selenium开发YouTube工具运行时报TypeError: 'str' object is not callable

Selenium 定位元素报'str' object is not callable错误修复

报错根因

By.XPATH是Selenium内置的字符串常量,值固定为"xpath",本身不是可调用的方法。你当前的写法把定位表达式直接作为参数传给By.XPATH(),相当于尝试调用一个字符串对象,因此触发类型错误。
同时driver.find_element()方法要求传入两个独立参数:第一个是元素定位方式,第二个是对应定位方式的匹配表达式,你当前的写法把两个参数合并成了一个,不符合方法调用规范。

修复方法

将错误的元素定位行:

CV = driver.find_element(By.XPATH('//*[@id="movie_player"]/div[5]/button'))

修改为符合Selenium语法的双参数传参形式:

CV = driver.find_element(By.XPATH, '//*[@id="movie_player"]/div[5]/button')

额外注意事项

  • 确认代码顶部已正确导入By类,否则会触发名称错误,导入语句为:
    from selenium.webdriver.common.by import By
    
  • 代码中固定写死time.sleep(5)的硬等待稳定性极差,受网络速度、页面加载状态、广告弹窗影响很容易出现元素还没加载完成就执行点击的报错,建议替换为Selenium的显式等待逻辑,等元素可点击后再执行操作。
  • 循环重复访问同个视频链接触发点击的逻辑很容易触发YouTube的反爬机制,可能导致IP被限制、账号被封禁,使用时需要注意风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:48:17