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

使用Selenium定位HTML表格元素获取值时遭遇TypeError错误求助

解决Selenium定位元素时的TypeError问题

嘿,我一眼就瞅出你代码里的问题啦!这个TypeError是因为你给EC.visibility_of_element_located()传参的方式不对——它只接受一个元组参数,但你直接把By.XPATH和定位字符串拆成两个参数传进去了,这就导致了参数数量不匹配的错误。

修正后的代码

把定位方式和Xpath字符串打包成一个元组传进去就行:

wait.until(EC.visibility_of_element_located(
    (By.XPATH, "//*[@id='pane-bus-device-inverter']/div/div[1]/div/div/section/div[1]/div[3]/div[2]/div/div[3]/table/tbody/tr/td[7]/div")
))

额外优化建议

你现在用的是超长的绝对路径Xpath,这种定位方式特别脆弱,一旦页面结构有一点点调整就会失效。推荐你换成更简洁健壮的定位方式:

  • 结合目标元素的class属性定位:
    # 定位第7列td下、class为cell el-tooltip的div
    wait.until(EC.visibility_of_element_located(
        (By.XPATH, "//table//td[7]/div[@class='cell el-tooltip']")
    ))
    
  • 如果需要精准匹配文本内容(比如专门定位显示1.07的元素):
    wait.until(EC.visibility_of_element_located(
        (By.XPATH, "//div[@class='cell el-tooltip' and normalize-space(text())='1.07']")
    ))
    
    这里用normalize-space()是为了处理文本前后的空格,避免因为空格导致定位失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 17:27:39