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

Selenium WebDriver:如何定位含the-category属性的无class DIV元素

如何用Selenium定位带自定义属性the-category的元素?

嘿,这个场景我太熟悉了!当元素用的是自定义属性而非标准的class/id时,咱们完全可以用CSS选择器或者XPath来搞定,这俩都是Selenium里定位自定义属性元素的常用方案。

方法一:CSS选择器(推荐,语法更简洁)

CSS选择器支持直接通过属性匹配元素,语法格式是[属性名="属性值"]。针对你的需求,要定位第一个the-category="Cat1"的<div>,代码可以这么写:

首先,如果你用的是Selenium 4.x及以上版本,推荐使用新的API(旧的find_element_by_xxx系列方法已经被弃用了),记得先导入By类:

from selenium.webdriver.common.by import By

然后定位元素:

# 定位第一个符合条件的div
target_element = driver.find_element(By.CSS_SELECTOR, 'div[the-category="Cat1"]')

方法二:XPath(灵活性更强)

XPath同样可以精准定位带自定义属性的元素,语法是//div[@the-category="Cat1"],代码示例:

target_element = driver.find_element(By.XPATH, '//div[@the-category="Cat1"]')

这里的//表示在整个HTML文档中查找匹配的元素,@用来指定要匹配的属性名和对应的值。

额外小提示

如果需要获取所有带有the-category="Cat1"的div元素,只需要把find_element换成find_elements即可,它会返回一个包含所有匹配元素的列表:

# 获取所有符合条件的div元素
all_cat1_elements = driver.find_elements(By.CSS_SELECTOR, 'div[the-category="Cat1"]')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:42:36