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

Selenium定位列表中特定可点击Web元素问题求助

Selenium通过data-url属性精准定位元素

你完全可以直接通过data-url属性里的唯一ID创建定位器,无需遍历元素列表,以下是两种可靠的实现方式:

CSS选择器方案

利用CSS选择器的属性包含匹配规则,直接定位到data-url中包含目标ID的元素:

target_element = browser.find_element(By.CSS_SELECTOR, '.ajaxOpen.user[data-url*="id=3665"]')
target_element.click()
  • .ajaxOpen.user:匹配同时拥有这两个类名的元素
  • [data-url*="id=3665"]:匹配data-url属性值中包含id=3665的元素

XPATH方案

如果偏好XPATH,也可以用contains()函数匹配属性内容:

target_element = browser.find_element(By.XPATH, '//li[contains(@data-url, "id=3665") and @class="ajaxOpen user"]')
target_element.click()

这个XPATH会直接找到li标签中,data-url包含目标ID且类名匹配的元素,完全不依赖元素在页面中的位置,避免了因页面结构变化导致的定位失效问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 14:37:05