← 返回
未分类

playwright-browser

Use Playwright to browse websites with a real (non-headless) browser and extract data by hooking network responses. Use when the user wants to: - View a webs...
使用 Playwright 在真实(非无头)浏览器中浏览网站,并通过拦截网络响应提取数据。适用于用户需要:- 查看网页 ...
elijahxb elijahxb 来源
未分类 clawhub v1.0.0 1 版本 99888.8 Key: 无需
★ 0
Stars
📥 898
下载
💾 0
安装
1
版本
#latest

概述

Playwright Browser Skill

Purpose

This skill enables OpenClaw to launch a real Chrome/Chromium browser (non-headless), navigate to websites, and extract content by:

  1. Scraping rendered DOM content
  2. Hooking and capturing network responses (XHR/Fetch API calls)
  3. Finding and clicking links
  4. Searching for keywords in page content
  5. Focusing on specific elements

Prerequisites

Ensure Playwright is installed:

pip install playwright
playwright install chromium

Usage

1. Basic Navigation and Content Extraction

from skills.playwright-browser.scripts.browser_agent import SyncBrowserAgent

agent = SyncBrowserAgent(headless=False)
content = agent.get_page_content("https://example.com")
print(f"Title: {content['title']}")
agent.close()

2. Find and Click Links

from skills.playwright-browser.scripts.browser_agent import SyncBrowserAgent

agent = SyncBrowserAgent(headless=False)
agent.navigate("https://sina.com")

# Find links containing specific text
links = agent.find_links_by_text("军事")
for link in links:
    print(f"Found: {link['text']} -> {link['href']}")

# Click the first matching link
agent.find_link_and_click("军事")

agent.close()

3. Search Page Content

agent = SyncBrowserAgent(headless=False)
agent.navigate("https://mil.news.sina.com.cn/")

# Search for keyword in page
results = agent.search_page_content("伊朗")
for r in results:
    print(f"Found: {r['text']}")

# Focus on first result
if results:
    agent.focus_on_element(results[0])

agent.close()

4. Hook Network Responses

agent = SyncBrowserAgent(headless=False)

def on_api_response(response):
    if response.resource_type in ['xhr', 'fetch']:
        print(f"API: {response.url}")

agent.hook_network_responses(on_api_response)
agent.navigate("https://spa-app.example.com")

# Get all captured API calls
api_calls = agent.get_captured_api_calls()
agent.close()

Safety Guidelines

  • NEVER navigate to suspicious or potentially malicious URLs
  • Always validate URLs before navigation
  • Respect robots.txt and website terms of service
  • Warn user when accessing sites that may contain sensitive content
  • Close browser when done to free resources

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 03:44 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 210 📥 68,834
data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 273 📥 100,443
data-analysis

Stock Watcher

robin797860
管理和监控个人股票自选列表,支持利用同花顺数据添加、删除、列出股票及汇总近期表现。适用于用户希望追踪特定股票、获取表现汇总或管理自选列表时。
★ 112 📥 46,300