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)
#此程序可能对浅色验证码不友好,对深色可以无差异登录。
Python + selenium 实现网页自动登录
最新推荐文章于 2024-09-28 23:54:58 发布