Python use Selenium to control the webdriver

来源:互联网 发布:sdn网络控制器 编辑:程序博客网 时间:2024/05/18 22:42

  • Summary
  • Install Selenium
  • Download webdriver
  • Python scripts
    • Import selenium webdriver
    • Connect Chrome Browser
    • For Firefox case
    • Goto url address
    • Input usernamepassword and Login
  • Reference

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.exechrome_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 Truewhile True:    if goturl(driver,"http://your url intended to go"):        break;#waiting for browser to responsetime.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-8mm = 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 responsetime.sleep(1)

Reference

1,Selenium Installation
2geckodriver download


0 0