Usage Examples

Selenium Example
python
from selenium import webdriver
from pyxelator import find, click, fill
import time
driver = webdriver.Chrome()
driver.get('https://example.com')
time.sleep(1)
# Login flow
if find(driver, 'login_button.png'):
fill(driver, 'username.png', 'myuser')
fill(driver, 'password.png', 'mypass')
click(driver, 'submit.png')
print("Logged in!")
driver.quit()Playwright Example
python
from playwright.sync_api import sync_playwright
from pyxelator import find, click, fill
import time
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto('https://example.com')
time.sleep(1)
# Same API!
if find(page, 'login_button.png'):
fill(page, 'username.png', 'myuser')
fill(page, 'password.png', 'mypass')
click(page, 'submit.png')
print("Logged in!")
browser.close()
Appium Example (Mobile)
python
from appium import webdriver
from appium.options.android.uiautomator2.base import UiAutomator2Options
from pyxelator import find, click, fill
import time
# Setup Appium
options = UiAutomator2Options()
options.udid = "your_device_id"
options.platform_name = "Android"
options.app_package = "com.example.app"
options.app_activity = "com.example.app.MainActivity"
driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
time.sleep(2)
# Same API works for mobile!
if find(driver, 'login_button.png'):
fill(driver, 'email_field.png', 'user@example.com')
fill(driver, 'password_field.png', 'password123')
click(driver, 'submit_button.png')
print("Logged in!")
driver.quit()Beta Feature: Appium support is in beta. Template matching works best with unique UI elements.
Pytest Integration
python
import pytest
from selenium import webdriver
from pyxelator import find, click, fill
import time
@pytest.fixture
def driver():
driver = webdriver.Chrome()
driver.maximize_window()
yield driver
driver.quit()
def test_login(driver):
driver.get('https://example.com')
time.sleep(1)
assert find(driver, 'login_button.png') == True
assert click(driver, 'login_button.png') == True
assert fill(driver, 'email.png', 'test@example.com') == True