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

Selenium点击“Export to excel”按钮遇TimeoutException求助

问题分析与解决

核心错误原因

你用By.ID定位按钮,但按钮的ID属性并不是"Export to excel"——这个字符串只是按钮上显示的文本内容,并非元素的ID属性,导致Selenium无法找到目标元素,最终触发超时错误。

修正方案

1. 改用正确的定位方式

可以通过按钮的显示文本或实际HTML属性来定位,以下是两种可行写法:

写法一:通过文本定位(XPATH)

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 新版ChromeDriver推荐用Service类初始化驱动
service = Service("./driver/chromedriver")
driver = webdriver.Chrome(service=service)
driver.get("https://www.iadb.org/en/transparency/sanctioned-firms-and-individuals")

# 通过按钮文本定位并点击
WebDriverWait(driver, 50).until(
    EC.element_to_be_clickable((By.XPATH, "//button[contains(text(), 'Export to excel')]"))
).click()

写法二:通过class属性定位(CSS选择器)

手动右键按钮选择「检查」,查看元素的class属性(比如页面中该按钮的class包含dt-button),用CSS选择器定位:

WebDriverWait(driver, 50).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "button.dt-button.buttons-excel"))
).click()

2. 额外注意事项

  • 确保ChromeDriver版本与你的Chrome浏览器版本完全匹配,版本不兼容会引发各类定位异常。
  • 若页面存在动态加载内容,可适当延长等待时间,或增加页面加载完成的判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:12:47