Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

sf-scraperSF 刮刀

Agent Skill

sf-scraper 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

12,411

周安装

507

GitHub Stars

公开资料未说明

下载量

4,015
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sf-scraper(SF 刮刀)
来源仓库:https://github.com/venkatalokesh-dot/sf-scraper
安装命令:
openclaw skills install sf-scraper
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install sf-scraper

简介

sf-scraper 用于从已登录的 SAP SuccessFactors 会话中提取员工数据。

  • 适合在 OpenClaw 中处理浏览器自动化和网页信息抓取任务时使用。
  • 通过安装命令 openclaw skills install sf-scraper 集成到项目中。
  • 使用前应确认权限范围,注意可能涉及网络请求和敏感数据访问。
  • sf-scraper 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
sf-scraper
description
>

SF Scraper — SuccessFactors Browser Scraping Skill

Scrape employee data from a live, logged-in SAP SuccessFactors session via browser automation. This skill uses ONLY browser snapshots and actions — zero API calls.

Prerequisites

  • User must have SAP SuccessFactors open and logged in on a Chrome tab.
  • OpenClaw Browser Relay Chrome extension must be active (badge ON) on that tab.
  • Always use profile="chrome" for all browser calls (we need the authenticated session).

Step-by-Step Workflow

Step 1: Verify Session & Get Base URL

browser(action="snapshot", profile="chrome", compact=true)

Check for these states:

  • Login page detected (look for: "Log in", "Username", "Password", "Company ID" fields) → Tell user to log in first and re-attach the relay.
  • Session expired ("Session Timeout", "session has expired") → Same, ask user to re-login.
  • SF Home/Dashboard → Good. Extract the base URL from the page URL in the snapshot. It will be one of:

- https://<company>.successfactors.com - https://<company>.successfactors.eu - https://<company>.sapsf.com - https://pmsalesdemo<N>.successfactors.com (demo instances) - https://hcm<N>preview.sapsf.com (preview instances)

Store the base URL — all subsequent navigation uses it.

Step 2: Navigate to Employee Profile

Try these navigation strategies in order. Move to the next only if the current one fails.

Strategy A: People Profile Deep Link (preferred)

browser(action="navigate", profile="chrome", targetUrl="{base_url}/sf/liveprofile?selected_user={employee_id}")

Wait 2-3 seconds for load, then snapshot. This is the most reliable deep link in modern SF instances.

Success indicators:

  • Page contains a heading with a person's name
  • You see sections like "Personal Information", "Job Information", "About Me"
  • URL contains liveprofile and the employee ID

Failure indicators:

  • Blank page, spinner that never resolves
  • "Page not found", "Error", or redirect to home
  • Generic dashboard with no employee context

Strategy B: Alternative Deep Links

If Strategy A fails, try these one at a time:

{base_url}/xi/ui/peopleprofile/pages/index.xhtml?selected_user={employee_id}
{base_url}/sf/peopleprofile?selected_user={employee_id}
{base_url}/#/userprofile/{employee_id}
{base_url}/sf/admin/employeefiles?selected_user={employee_id}

Same validation — snapshot after each and check for profile content.

Strategy C: Global Search Bar

If all deep links fail, use the search:

  1. Snapshot the current page.
  2. Find the search element. Look for:

- A searchbox role element (most common) - A textbox with placeholder containing "Search", "Search People", "Find Someone" - An element with aria-label containing "search" - The magnifying glass icon / search icon button (click it first to expand the search bar)

  1. Click the search box to focus it.
  2. Type the employee ID:
   browser(action="act", profile="chrome", request={kind: "type", ref: "<search_ref>", text: "{employee_id}"})
  1. Press Enter or click the search button:
   browser(action="act", profile="chrome", request={kind: "press", ref: "<search_ref>", key: "Enter"})
  1. Wait 2-3 seconds, then snapshot the results.
  2. Parse the results:

- If one result → click it to open the profile. - If multiple results → look for the one matching the employee ID. Results typically show as a list with name, ID, and photo. Click the correct one. - If no results → report to user that employee ID was not found.

Strategy D: Admin Center / Employee Files

Last resort — navigate through menus:

  1. Navigate to {base_url}/sf/admin
  2. Snapshot, look for "Employee Files" or "Manage Employees" link
  3. Click it, then use the search/filter within that view
  4. Find and click the employee

Step 3: Handle Page Loading & Iframes

SuccessFactors heavily uses iframes and lazy loading. Critical handling:

Iframe detection:

  • After navigating, if the snapshot shows minimal content or an iframe structure, try:
  browser(action="snapshot", profile="chrome", compact=true, frame="main")
  • Common iframe names/ids in SF: "main", "contentFrame", "bizmuleApp", "xCalApp"
  • If frame doesn't work, take a full (non-compact) snapshot to see the full DOM tree

Lazy loading / SPA transitions:

  • SuccessFactors is a Single Page Application. After navigation, content may take 3-5 seconds to render.
  • Always snapshot twice if the first snapshot shows loading indicators:

- Loading spinners: look for "Loading", "Please wait", spinner icons, progress bars - Wait 3 seconds between snapshots - If still loading after 2 retries (total ~9 seconds), inform user of slow load

Popup/Modal handling:

  • SF sometimes shows popups ("What's New", cookie consent, tour prompts)
  • If a modal/dialog appears, look for "Close", "X", "Dismiss", "Got it", "Skip" buttons
  • Click to dismiss, then re-snapshot

Step 4: Scrape the Profile Page

Once on the employee profile, take a detailed snapshot:

browser(action="snapshot", profile="chrome")

SuccessFactors People Profile has these typical sections/cards:

Header / Banner Area

Contains the most important info, always visible at top:

  • Full Name — Large heading text, usually heading level 1 or 2
  • Job Title — Text directly below the name
  • Photo — Avatar image (not scrapable as data, but confirms you're on the right profile)
  • Employee ID — Sometimes shown near name, sometimes in a subtitle like "ID: 12345"
  • Quick action buttons — Email, phone icons (these contain contact data)

Info Cards / Sections (varies by company config)

Each card has a header and key-value pairs. Common patterns:

"Personal Information" / "About" card:

  • First Name, Last Name, Middle Name
  • Preferred Name / Display Name
  • Date of Birth (may be restricted)
  • Gender
  • Nationality
  • Marital Status

"Job Information" card:

  • Job Title / Position Title
  • Job Code
  • Department / Division / Business Unit
  • Cost Center
  • Employment Type (Full-time, Part-time, etc.)
  • Employee Class / Employee Type
  • Regular/Temporary
  • Standard Hours
  • FTE (Full-Time Equivalent)
  • Pay Grade
  • Worker's Compensation Code

"Employment Details" / "Employment Information" card:

  • Hire Date / Original Start Date
  • Seniority Date
  • Service Date
  • Last Date Worked
  • Termination Date (if applicable)
  • Employment Status (Active, Terminated, Leave, etc.)

"Compensation Information" card (may be restricted):

  • Annual Salary / Base Pay
  • Pay Component
  • Currency
  • Compa-Ratio
  • Range Penetration

"Contact Information" card:

  • Business Email
  • Personal Email
  • Business Phone
  • Mobile Phone
  • Home Phone
  • Business Address (Street, City, State, Zip, Country)
  • Home Address

"Organizational" / "Position" card:

  • Manager Name (usually a clickable link)
  • Manager ID
  • Position
  • Direct Reports count
  • Legal Entity
  • Company Code

"Spot Profile" / "About Me" card:

  • Bio / About Me text
  • Skills
  • Interests
  • Social accounts

How to Extract Key-Value Pairs

In the accessibility tree snapshot, profile data appears as:

  • Labelstext or label nodes with the field name (e.g., "Department")
  • Values — Adjacent text, link, or statictext nodes with the value (e.g., "Engineering")
  • Pattern: label followed by its value, often in a grid/table or definition list structure

Example snapshot patterns:

text "Department"
text "Engineering"
text "Manager"
link "Jane Smith"
text "Location"
text "Bangalore, India"
text "Email"
link "john.doe@company.com"

Scan sequentially and pair each label with its following value.

Step 5: Navigate Tabs for More Data

SuccessFactors profiles often organize data into tabs or collapsible sections.

Common tab names:

  • "Personal Information" / "Personal Info"
  • "Job Information" / "Job Info"
  • "Employment Information" / "Employment Details"
  • "Compensation Information" / "Compensation"
  • "Pay Components" / "Pay Details"
  • "Organizational Information" / "Organization"
  • "Contact Information"
  • "Documents"
  • "Performance History"
  • "Goal Plan"
  • "Time Off" / "Leave"

To navigate tabs:

  1. Snapshot and identify tab elements (role: tab, tablist, or clickable links with these names)
  2. Click the tab you need:
   browser(action="act", profile="chrome", request={kind: "click", ref: "<tab_ref>"})
  1. Wait 1-2 seconds for content to load
  2. Snapshot again and extract the new section's data

Collapsible sections:

  • Some profiles use expandable/collapsible sections instead of tabs
  • Look for button elements with section names and expand/collapse indicators
  • Click to expand if collapsed, then snapshot

Step 6: Handle "Show More" / Pagination

  • Some sections show limited data with a "Show More", "View All", or "See More" link
  • Click it if present to reveal full data, then re-snapshot
  • Employment history or compensation history may have multiple records — scrape all visible

Step 7: Return Results

Format results clearly, grouped by section:

═══ Employee Profile ═══

👤 Basic Info
   Name: John Doe
   Employee ID: 12345
   Job Title: Senior Developer
   Department: Engineering
   
📧 Contact
   Email: john.doe@company.com
   Phone: +91-9876543210
   Location: Bangalore, India
   
🏢 Organization
   Manager: Jane Smith
   Division: Technology
   Business Unit: Product Development
   Legal Entity: Company India Pvt Ltd
   
📋 Employment
   Hire Date: 2020-03-15
   Status: Active
   Type: Full-Time Regular

Rules:

  • Only include fields actually found on the page — NEVER fabricate data
  • If a field's value is empty or hidden ("*****", "Restricted"), report it as restricted
  • If the user only asked for a name, don't scrape every tab — just return what's visible in the header

Batch Mode

For multiple employee IDs:

  1. Process one at a time sequentially
  2. After each profile, navigate to the next using Strategy A
  3. Collect all results
  4. Present as a formatted table at the end
  5. Note any IDs that failed

Configuration (Optional)

User can add to TOOLS.md:

### SuccessFactors
- Base URL: https://yourcompany.successfactors.com
- Default fields: name, email, department, manager

If configured, use the base URL directly (skip discovery). If default fields are specified, only scrape those.

Error Handling

ScenarioDetectionAction
Not logged inLogin form visibleTell user to log in and re-attach relay
Session expired"Session Timeout" textSame as above
Employee not foundSearch returns 0 resultsReport clearly, suggest checking ID
Access denied"Unauthorized", "No access", "Insufficient privileges"Report — user may lack permissions
Profile restrictedFields show "*****" or "Restricted"Report which fields are restricted
Page won't loadLoading spinner after 3 retriesReport timeout, suggest refreshing SF
Multiple matchesSearch returns >1 resultList matches with names/IDs, ask user to pick
Wrong instanceURL doesn't match expected SF domainWarn user, ask to confirm

Important Notes

  • NEVER use OData, REST API, or any programmatic endpoint. Pure browser scraping only.
  • Always use profile="chrome" — never profile="openclaw" (need the user's auth session).
  • Be patient — SF can be slow. Always verify page state with snapshots before extracting.
  • Don't navigate away from SF without warning the user.
  • Respect permissions — if data is restricted/hidden in the UI, it's restricted for a reason. Don't try to circumvent.
  • Screenshot fallback — if snapshot (accessibility tree) doesn't capture visible text, use browser(action="screenshot", profile="chrome") to see the rendered page visually and extract from the image.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

90.03%
按下载量换算3,615

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills