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

如何使用Selenium和Python获取元素的data-user-id属性值

使用Selenium提取元素的data-user-id属性值

针对你提供的HTML片段,有几种简单可行的方法可以提取data-user-id属性的值:

方法1:通过CSS选择器定位元素后获取属性

先定位到包含data-user-id的<a>元素,再调用get_attribute()方法提取属性值:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("目标网页URL")

# 定位到目标a元素
user_link = driver.find_element(By.CSS_SELECTOR, ".message-name a.username")
# 提取data-user-id属性值
user_id = user_link.get_attribute("data-user-id")
print(user_id)  # 输出:297754

driver.quit()

方法2:直接通过属性选择器定位并提取

可以直接用data-user-id属性作为选择器,一步定位到元素并提取值:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("目标网页URL")

user_id = driver.find_element(By.CSS_SELECTOR, "a[data-user-id]").get_attribute("data-user-id")
print(user_id)

driver.quit()

方法3:使用XPath定位元素

如果习惯用XPath语法,也可以这样实现:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("目标网页URL")

user_link = driver.find_element(By.XPATH, "//h4[@class='message-name']/a")
user_id = user_link.get_attribute("data-user-id")
print(user_id)

driver.quit()

注意事项

  • 确保元素已经加载完成,否则可能抛出NoSuchElementException。如果遇到页面加载延迟,建议使用WebDriverWait等待元素出现:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待元素加载,最长等待10秒
user_link = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, ".message-name a.username"))
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 02:54:56