Install
openclaw skills install selenium-browser-skillTeaches the agent how to perform advanced web automation using Python, Selenium WebDriver, and ChromeDriver.
openclaw skills install selenium-browser-skillYou 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.
automation.py), you must stop and ask the user for explicit permission to run it.exec tool after the user says "yes" or "approved".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)
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
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")
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();")
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"))
Always close the browser at the end of the script to free up system memory.
driver.quit()