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

如何用Python抓取Chrome开发者工具中Accessibility模块内容?

解决方法

核心思路

Chrome开发者工具的Accessibility模块展示的是页面元素的无障碍属性(如aria-label、aria-describedby、role等),这些属性本质是DOM元素的一部分。要获取这类内容,需要使用能渲染动态页面的自动化工具,而非仅做静态请求的requests库。

具体实现方案

方案1:使用Selenium

Selenium可模拟完整浏览器渲染流程,直接提取DOM元素的无障碍属性:

  1. 安装依赖:
pip install selenium
  1. 代码示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 初始化Chrome浏览器驱动
driver = webdriver.Chrome()
driver.get("目标网站的URL")

# 等待页面动态内容加载完成(可根据实际情况调整等待时间)
time.sleep(3)

# 定位目标元素(替换为你的元素选择器,如CSS选择器/XPath)
target_element = driver.find_element(By.CSS_SELECTOR, "需要抓取的元素选择器")

# 提取无障碍属性
aria_label = target_element.get_attribute("aria-label")
role = target_element.get_attribute("role")
aria_describedby = target_element.get_attribute("aria-describedby")

# 输出结果
print(f"aria-label: {aria_label}")
print(f"role: {role}")
print(f"aria-describedby: {aria_describedby}")

# 关闭浏览器
driver.quit()

方案2:使用Playwright(轻量无额外驱动依赖)

Playwright支持多浏览器,无需手动下载驱动,对动态页面的兼容性更好:

  1. 安装依赖:
pip install playwright
playwright install chrome
  1. 代码示例:
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    # 启动Chrome浏览器
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("目标网站的URL")

    # 等待目标元素加载完成
    page.wait_for_selector("需要抓取的元素选择器")
    
    # 定位元素并提取无障碍属性
    target_element = page.query_selector("需要抓取的元素选择器")
    aria_label = target_element.get_attribute("aria-label")
    role = target_element.get_attribute("role")

    print(f"aria-label: {aria_label}")
    print(f"role: {role}")

    browser.close()

注意事项

  • 元素选择器可通过Chrome开发者工具的Elements模块,直接复制目标元素的CSS选择器或XPath。
  • 若网站存在反爬机制,需添加合理的等待逻辑(如Playwright的page.wait_for_selector()),避免因元素未加载完成导致抓取失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:47:40