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

Selenium Python中By.PARTIAL_LINK_TEXT的WebDriverWait正确用法

错误原因

异常代码存在两处核心问题:

  • 匹配文本大小写错误:传入的匹配值为"LogSyS"(s为大写),可正常定位的目标元素链接文本为"LogSys"(s为小写),文本不匹配会直接导致元素检索失败。
  • 定位元组传参格式错误:EC.element_to_be_clickable()接收的定位器为固定格式的二元组,仅需要按位置传入定位方式、定位值两个参数,不需要添加value=关键字声明。元组内传入键值对格式的参数不符合Selenium的定位器解析规则,会导致定位逻辑异常。

正确代码示例

# 提前导入对应依赖
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

WebDriverWait(driver, 20).until(
    EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "LogSys"))
).click()

补充说明

直接调用find_element时加value=传参可以正常运行,是因为find_element方法原生支持by、value两个关键字参数;但传入显式等待的判断条件时,定位器元组会被按位置顺序解析——第一个元素识别为定位类型,第二个元素识别为定位表达式,此时传入带value=的键值对会被识别为非字符串类型的定位值,无法正常匹配元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:33:20