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