selenium的開發文檔網址(英語好的能夠直接看這個,寫的很詳細):http://selenium-python.readthedocs.io/python
由於實現的時候使用的是谷歌瀏覽器,在運行腳本時須要下載一個chromedriver.exe,下載地址爲(注意根據本身的谷歌瀏覽器的版原本下載):http://npm.taobao.org/mirrors/chromedriver/web
將下載下來的chromedriver.exe放在chrome安裝目錄下。個人安裝目錄是(C:\Users\0923\AppData\Local\Google\Chrome\Application\)chrome
配置環境變量PATH爲chromedriver目錄npm
pip install selenium瀏覽器
而後就能夠寫代碼了:網站
# coding: utf-8
import time
from selenium import webdrivercode
from PIL import Image
import pytesseractorm
browser = webdriver.Chrome()
browser.get('http://www.lxwc.com.cn')
browser.maximize_window()圖片
# 根據路徑找到按鈕,並模擬進行點擊
browser.find_element_by_xpath('//*[@id="toptb"]/div/div[1]/div[3]/ul/li[2]/a').click()
# 延時2秒,以便網頁加載全部元素,避免以後找不到對應的元素
time.sleep(1)ip
# 根據路徑找到按鈕,並模擬進行點擊
browser.find_element_by_xpath('//*[@id="normallogin"]/a').click()
# 延時2秒,以便網頁加載全部元素,避免以後找不到對應的元素
time.sleep(1)
# 這裏是找到輸入框,發送要輸入的用戶名和密碼,模擬登錄
browser.find_element_by_xpath(
"//input[@name='username']").send_keys("xxx")
browser.find_element_by_xpath(
"//input[@name='password']").send_keys("xxx")
# 在輸入用戶名和密碼以後,點擊登錄按鈕
browser.find_element_by_xpath("//button[@name='loginsubmit']").click()
#驗證碼識別,未完成
element = browser.find_element_by_xpath("//img[@class='vm']")
location = element.location
size = element.size
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y'] + size['height']
print(location)
print(size)
# 打開目標網站,並截取完整的圖片
browser.get_screenshot_as_file('login.png')
im = Image.open('login.png')
im = im.crop((left, top, right, bottom))
im.save('code.png')
驗證碼部分:調用Pytesseract