Selenium WebDriver Overview
MetaDock implements the W3C WebDriver protocol. Use your existing Selenium scripts with minimal changes: update the remote URL and add MetaDock capabilities (layoutUuid is required). All browsers appear in MetaDock's visual grid.
Base URL
http://127.0.0.1:8080/wd/hubfrom selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
options = Options()
options.set_capability("metadock:layoutUuid", "your-layout-uuid")
options.set_capability("metadock:profile", "default")
driver = webdriver.Remote(
command_executor="http://127.0.0.1:8080/wd/hub",
options=options
)
driver.get("https://example.com")
print(f"Title: {driver.title}")
driver.quit()WebDriver Sessions
/wd/hub/sessionCreate a new WebDriver session.
Parameters
capabilities(object)required— W3C capabilities objectmetadock:layoutUuid(string)required— Layout UUID (in capabilities)metadock:profile(string)— Profile name (in capabilities)Returns
Session ID and capabilities
/wd/hub/session/{sessionId}Get session capabilities.
/wd/hub/session/{sessionId}Delete/close a session.
/wd/hub/statusGet server status.
WebDriver Navigation
/wd/hub/session/{sessionId}/urlNavigate to URL.
Parameters
url(string)required— URL to navigate to/wd/hub/session/{sessionId}/urlGet current URL.
/wd/hub/session/{sessionId}/backNavigate back.
/wd/hub/session/{sessionId}/forwardNavigate forward.
/wd/hub/session/{sessionId}/refreshRefresh page.
/wd/hub/session/{sessionId}/titleGet page title.
WebDriver Elements
Find and interact with page elements using standard WebDriver locator strategies.
Locator Strategies
css selectoridclass nametag namenamelink textpartial link textxpath/wd/hub/session/{sessionId}/elementFind single element.
Parameters
using(string)required— Locator strategyvalue(string)required— Locator value/wd/hub/session/{sessionId}/elementsFind multiple elements.
/wd/hub/session/{sessionId}/element/{elementId}/clickClick element.
/wd/hub/session/{sessionId}/element/{elementId}/clearClear element.
/wd/hub/session/{sessionId}/element/{elementId}/valueSend keys to element.
Parameters
text(string)required— Text to send/wd/hub/session/{sessionId}/element/{elementId}/textGet element text.
/wd/hub/session/{sessionId}/element/{elementId}/attribute/{name}Get element attribute.
/wd/hub/session/{sessionId}/element/{elementId}/enabledCheck if element is enabled.
/wd/hub/session/{sessionId}/element/{elementId}/selectedCheck if element is selected.
WebDriver Scripts
/wd/hub/session/{sessionId}/execute/syncExecute synchronous JavaScript.
Parameters
script(string)required— JavaScript codeargs(array)— Script arguments/wd/hub/session/{sessionId}/execute/asyncExecute asynchronous JavaScript.
WebDriver Cookies
/wd/hub/session/{sessionId}/cookieGet all cookies.
/wd/hub/session/{sessionId}/cookie/{name}Get cookie by name.
/wd/hub/session/{sessionId}/cookieAdd a cookie.
Parameters
cookie(object)required— Cookie object with name, value, domain/wd/hub/session/{sessionId}/cookie/{name}Delete cookie by name.
/wd/hub/session/{sessionId}/cookieDelete all cookies.
WebDriver Screenshots
/wd/hub/session/{sessionId}/screenshotTake page screenshot.
Returns
Base64-encoded PNG
/wd/hub/session/{sessionId}/element/{elementId}/screenshotTake element screenshot.
Returns
Base64-encoded PNG