in Python

Python use Selenium to control the webdriver

Summary

Python use Selenium to control the browser is easy to use, and can do lots of stuff, recently used it as automatic login the website and reply the forum post at certain interval.

Install Selenium

It’s simple:

pip install selenium

Download webdriver

You have to download the webdriver and put somewhere in your computer.
For Chrome, it’s “chromedriver.exe”.
For Firefox, no webdriver file required, however you will require to download “geckodriver.exe”, it’s similar to “chromedriver.exe”, otherwise you will encounter below error:

#selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

You can refer to this Link to download “geckodriver.exe”.

Python scripts

Python script is really simple.

Import selenium webdriver

from selenium import webdriver

Connect Chrome Browser

#your path to store your chromedriver.exe
chrome_path = r"C:\Users\xionghuilin\Desktop\chromedriver.exe"
driver = webdriver.Chrome(chrome_path) 

For Firefox case

driver = webdriver.Firefox()

Goto url address

def goturl(driver,url):
    try:
        driver.get(url)
    except:
        return False
    return True
while True:
    if goturl(driver,"http://your url intended to go"):
        break;
#waiting for browser to response
time.sleep(1)        

Input username/password and Login

To get the element name, ID or class name, you can right click on the website, then click “Inspect Element”(For Chrome or Firefox).

mm = "用户名"
#if it is unicode, requires to decode as utf-8
mm = unicode(mm.decode("utf-8"))
user=driver.find_element_by_name("element name of the username")
user.clear()
user.send_keys(mm)
password=driver.find_element_by_id("element ID of password")
password.send_keys("password")
login=driver.find_element_by_class_name("the element on the browser")
login.click()
#wait for browser to response
time.sleep(1)

Reference

1,, Selenium Installation
2, geckodriver download
3, Free Selenium Tutorials


Write a Comment

Comment