Skip to content

Instantly share code, notes, and snippets.

@roymanigley
Last active June 17, 2023 19:53
Show Gist options
  • Save roymanigley/e34f303733638f679a87cba0794adf79 to your computer and use it in GitHub Desktop.
Save roymanigley/e34f303733638f679a87cba0794adf79 to your computer and use it in GitHub Desktop.
Selenium with Python

Selenium with Python

Setup

python -m venv .env
source .env/bin/activate
pip install selenium
pip freeze > requirements.txt

Selenium script

from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

opts = webdriver.FirefoxOptions()
# opts.add_argument("--headless")
# opts.add_argument("--width=800")
# opts.add_argument("--height=600")
opts.set_preference("general.useragent.override", "userAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/101.0.4951.44 Mobile/15E148 Safari/604.1")

browser = webdriver.Firefox(opts)
try:
    browser.get('http://www.yahoo.com')
    assert 'Yahoo' in browser.title

    element = browser.find_element(By.NAME, 'p')
    element.send_keys('seleniumhq' + Keys.RETURN)
    sleep(3)
    element = browser.find_element(By.CSS_SELECTOR, 'h3 > a')
    element.click()
    sleep(3)
except Exception as e:
    print(e)
browser.quit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment