Python + selenium 实现网页自动登录

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import ddddocr #pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple 安装第三方库方法
###测试软件系统登录
driver = webdriver.Edge() #浏览器是Edge
driver.maximize_window() #最大窗口化
#方法写死了浏览器以及元素信息
#获取元素信息的方法 F12,最左侧箭头,然后单机复选框。
def get_image(usename,pwd):
    driver.get("http://xxxxxxxxxx") #获取url
    log_name = driver.find_element(By.NAME,'loginName').send_keys(usename) #获取元素值并输入信息
    time.sleep(1)
    pwd = driver.find_element(By.NAME,'password').send_keys(pwd)  #获取元素值并输入信息
    time.sleep(1)
    yz_code = driver.find_element(By.NAME,'validateCode')  #获取元素值并输入信息
    image_code = driver.find_element(By.ID, 'canvasValidate') #获取元素信息
    #截取页面信息图片,方便后期识别验证码
    imageCode = image_code.screenshot("yz_code.png")
    time.sleep(1)
    ##第三方库识别图片信息
    ocr = ddddocr.DdddOcr()
    with open('yz_code.png','rb') as f:
        image = f.read()
    #识别图片信息
    cath = ocr.classification(image)
    #将信息填写到页面
    yz_code.send_keys(cath)
    time.sleep(1)

    #因为页面系统提交css中是无id和name元素,所以使用了xpath
    login_button = driver.find_element(By.XPATH,'//*[@style="margin-bottom: 0px"]').click()
    time.sleep(20)
    #关闭浏览器
    driver.close()
if __name__ == '__main__':
    usname = 'xxxxx'
    pwd = 'xxxxxx'
    res =get_image(usname,pwd)
#此程序可能对浅色验证码不友好,对深色可以无差异登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值