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

Python Selenium如何点击表格中指定sectionheader行前的最后一个li元素

实现方案

核心定位逻辑

  • 先定位class为sectionheader且文本包含Used的tr元素
  • 通过XPath的preceding-sibling轴获取该tr的前一个相邻tr
  • 在该前序tr中匹配所有高亮状态的li元素,取最后一个执行点击

包含Used文本的sectionheader行示例

代码实现

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

# 初始化驱动(此处以Chrome为例,可替换为对应浏览器驱动)
driver = webdriver.Chrome()
# 显式等待设置,超时时间10秒可自行调整
wait = WebDriverWait(driver, 10)

# *下方代码中的高亮类名`active`请替换为你页面中实际标记高亮li的类名*
target_li_xpath = """
//tr[contains(@class, 'sectionheader') and contains(normalize-space(text()), 'Used')]
/preceding-sibling::tr[1]
//li[contains(@class, 'active')][last()]
"""

# 等待元素可点击后执行点击
target_li = wait.until(EC.element_to_be_clickable((By.XPATH, target_li_xpath)))
target_li.click()

补充说明

  • 若页面中li的高亮状态是通过其他属性(比如style属性的背景色设置)标记,只需修改XPath中li的匹配规则即可,例如高亮为红色背景时可改为//li[contains(@style, 'background: red')][last()]
  • normalize-space(text())用于去除文本前后的空格、换行符,避免匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:01