🧪 Skills

Selenium Automation

Teaches the agent how to perform advanced web automation using Python, Selenium WebDriver, and ChromeDriver.

v0.1.1
❤️ 0
⬇️ 366
👁 1
Share

Description


name: selenium-automation description: "Teaches the agent how to perform advanced web automation using Python, Selenium WebDriver, and ChromeDriver." metadata: openclaw: emoji: "🌐" requires: - exec - write dependencies: system: - python3 - chromedriver - google-chrome python: - selenium install: | pip install selenium

Selenium Automation Skill

You are an expert at web automation using Python and Selenium WebDriver. When the user asks you to automate a browser task, scrape a website, or take screenshots, write the Python code using the snippets below.

0. Security and Execution Rules

  • Never run the script automatically.
  • After you write the Python script (for example automation.py), you must stop and ask the user for explicit permission to run it.
  • Only use the exec tool after the user says "yes" or "approved".

1. Setup and ChromeDriver

Always configure Chrome to run in headless mode unless the user requests a visible browser.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# Initialize the WebDriver
service = Service()
driver = webdriver.Chrome(service=service, options=chrome_options)

2. Navigation Commands

Use these commands to open web pages and navigate.

driver.get("[https://example.com](https://example.com)")
driver.refresh()
driver.back()
driver.forward()

current_url = driver.current_url
page_title = driver.title

3. Taking Screenshots

You can take a screenshot of the entire visible window or a specific HTML element.

driver.save_screenshot("full_page.png")

from selenium.webdriver.common.by import By
element = driver.find_element(By.ID, "main-content")
element.screenshot("element.png")

4. JavaScript Injections

Use execute_script to run custom JavaScript directly inside the browser.

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
page_height = driver.execute_script("return document.body.scrollHeight;")

element = driver.find_element(By.ID, "hidden-button")
driver.execute_script("arguments[0].click();", element)

driver.execute_script("document.getElementById('cookie-banner').remove();")

5. Finding and Interacting with Elements

Use these standard commands to find elements, click buttons, and type text.

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".submit-btn")))
button.click()

search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("OpenClaw documentation")
search_box.send_keys(Keys.RETURN)

header = driver.find_element(By.TAG_NAME, "h1")
print("Text:", header.text)
print("Class attribute:", header.get_attribute("class"))

6. Closing the Browser

Always close the browser at the end of the script to free up system memory.

driver.quit()

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs