Skip to content

Instantly share code, notes, and snippets.

@jbadiapa
Last active February 13, 2017 07:56
Show Gist options
  • Save jbadiapa/921c7719c59bfd89cf862fd6bef07d6d to your computer and use it in GitHub Desktop.
Save jbadiapa/921c7719c59bfd89cf862fd6bef07d6d to your computer and use it in GitHub Desktop.
Selenieum

To install the python-wrapper

$ sudo yum install python2-selenium.noarch

Selenium can also be installed through pip

$ sudo pip install selenium

To install the browser engine

Chrome

$ curl -O -L https://chromedriver.storage.googleapis.com/2.27/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip

Firefox

$ curl -O -L https://github.com/mozilla/geckodriver/releases/download/v0.14.0/geckodriver-v0.14.0-linux64.tar.gz
$ tar xvfz geckodriver-v0.14.0-linux64.tar.gz

Opera

$ Curl -O -L https://github.com/operasoftware/operachromiumdriver/releases/download/v0.2.2/operadriver_linux64.zip
$ unzip operadriver_linux64.zip

The engines needs to be in the PATH var so a directory needs to be created

$ mkdir -p /usr/local/libexec

Copy the engine/s you want to use on the directory

$ sudo cp chromedriver /usr/local/libexec
$ export PATH=$PATH:/usr/local/libexec

Test the installation

$ cat >selenium_test.py<<EOF
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0

# Create a new instance of the Firefox driver
driver = webdriver.Firefox()

# go to the google home page
driver.get("http://www.google.com")

# the page is ajaxy so the title is originally this:
print driver.title

# find the element that's name attribute is q (the google search box)
inputElement = driver.find_element_by_name("q")

# type in the search
inputElement.send_keys("cheese!")

# submit the form (although google automatically searches now without submitting)
inputElement.submit()

try:
    # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))

    # You should see "cheese! - Google Search"
    print driver.title

finally:
    driver.quit()
EOF

To execute the test ( A browser window will be openned )

$ python selenium_test.py 
Google
cheese! - Buscar con Google
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment