Skip to content

Instantly share code, notes, and snippets.

@csghone
Last active September 27, 2018 06:05
Show Gist options
  • Select an option

  • Save csghone/457d458033ba8967a1df489575603240 to your computer and use it in GitHub Desktop.

Select an option

Save csghone/457d458033ba8967a1df489575603240 to your computer and use it in GitHub Desktop.
Example Selenium Usage
#!/usr/bin/env python3
# Setup and Usage:
# - sudo -H pip3 install selenium`
# - Download geckodriver from https://github.com/mozilla/geckodriver/releases
# - export PATH=$PATH:<directory_of_geckodriver>`
# - python3 selenium_example.py
import os
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
download_folder = os.path.join(os.environ.get("HOME"), "Downloads")
options = Options()
options.add_argument("--headless")
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.helperApps.alwaysAsk.force", False)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", download_folder)
fp.set_preference("browser.download.downloadDir", download_folder)
fp.set_preference("browser.download.defaultFolder", download_folder)
fp.set_preference("browser.download.forbid_open_with", True)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/text, application/csv, text/csv, application/vnd.ms-excel")
driver = webdriver.Firefox(firefox_profile=fp, options=options)
driver.get(SOME_URL)
segment = driver.find_element_by_id(some_dropdown_element_id)
select_obj = Select(segment)
select_obj.select_by_visible_text(dropdown_entry_value)
segment = driver.find_element_by_id(some_input_element_id)
segment.clear() # Clear the text box
segment.send_keys(input_text + Keys.ENTER)
driver.execute_script("document.getElementById('some_element_id').removeAttribute('some_attribute')")
button = driver.find_element_by_id(some_button_id)
button.click()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment