完整代码,后续修改登录验证部分,以及实际地址
from io import BytesIO from PIL import Image from selenium.webdriver import ActionChains import time import ddddocr from webdriver_helper import get_webdriver from selenium.webdriver.common.by import By driver = get_webdriver()#获取浏览器驱动 driver.maximize_window()#最大化窗口 driver.get("修改登录地址")#打开登录页面 time.sleep(3) name1=driver.find_element(By.XPATH,'//*[@id="userLayout"]/div/div/div/div[2]/form/div[1]/form/div[1]/div/div/span/span/input')#获取用户名输入框 name1.send_keys("adminxj")#输入用户名 pwd1=driver.find_element(By.XPATH,'//*[@id="userLayout"]/div/div/div/div[2]/form/div[1]/form/div[2]/div/div/span/span/input')#获取密码输入框 pwd1.send_keys("Admin@2024")#输入密码 bimg=driver.find_element(By.XPATH,'//*[@id="userLayout"]/div/div/div/div[2]/form/div[1]/form/div[3]/div[2]') bimg.click()#点击验证码刷新图片根据实际情况添加 # 下面是验证码识别部分 x,y=bimg.location.values()#获取元素坐标 h,w=bimg.size.values()#获取元素大小 print(h,w) image_data = driver.get_screenshot_as_png()#获取页面的截图二进制 # print(image_data)#打印截图二进制 screen_shot = Image.open(BytesIO(image_data))#将截图转化为图片 result=screen_shot.crop((x,y,x+w,y+h))#裁剪验证码 ocr=ddddocr.DdddOcr()#实例化ocr识别类 res=ocr.classification(result)#识别验证码 print(res)#打印验证码 # 验证码识别结束 Yzm=driver.find_element(By.XPATH,'//*[@id="userLayout"]/div/div/div/div[2]/form/div[1]/form/div[3]/div[1]/div/div/div/span/span/input')#获取验证码输入框 Yzm.send_keys(res)#输入验证码 djdl=driver.find_element(By.XPATH,'//*[@id="userLayout"]/div/div/div/div[2]/form/div[2]/div/div/span/button')#获取登录按钮 djdl.click()#点击登录按钮 time.sleep(4)#等待页面加载完成 # 定义缩放比例列表 zoom_levels = [25, 50, 75, 100, 125, 150, 200] #定义要检查的网页元素 check_elements = {'四情监测页面':'/fourSituation/weatherMonitoring', '种植模型预览':'/fertilityMonitoring/prediction', '灌溉模型-灌溉可视化':'/irrigationModel/strategy'} for check_elementkey,check_elementvalue in check_elements.items(): driver.get(f"http://修改域名{check_elementvalue}")#打开要检查的网页 time.sleep(2)#等待页面加载完成 # 测试不同的缩放比例 for zoom_level in zoom_levels: # 设置缩放比例 driver.execute_script(f"document.body.style.zoom='{zoom_level}%'") time.sleep(4) # 等待页面加载 # 截图并保存 img=driver.get_screenshot_as_png() img_shot=Image.open(BytesIO(img)) img_shot.save(f"E:\测试脚本文件\python\selenium_1\截图\{check_elementkey}比例为_{zoom_level}.png")#修改地址 # 在这里添加检查网页显示情况的代码 print(f"Zoom level {zoom_level}% tested.") # 关闭浏览器 driver.quit()