1、環境安裝
selenium的開發文檔網址(英語好的可以直接看這個,寫的很詳細):http://selenium-python.readthedocs.io/
因為實現的時候使用的是谷歌瀏覽器,在運行腳本時需要下載一個chromedriver.exe,下載地址為(注意根據自己的谷歌瀏覽器的版本來下載):http://npm.taobao.org/mirrors/chromedriver/
將下載下來的chromedriver.exe放在chrome安裝目錄下。我的安裝目錄是(C:\Users\0923\AppData\Local\Google\Chrome\Application\)
配置環境變量PATH為chromedriver目錄
pip install selenium
然后就可以寫代碼了:
# coding: utf-8
import time
from selenium import webdriver
from PIL import Image
import pytesseract
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)
# 根據路徑找到按鈕,並模擬進行點擊
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