自动化控制,通过键盘打开网址,并找到图像进行单击

复制代码
from DrissionPage._pages.chromium_page import ChromiumPage
page = ChromiumPage()
import pyautogui

import time
page.get("http://www.baidu.com")
pyautogui.hotkey('ctrl','l')
pyautogui.write('http://www.2345.com')
pyautogui.press('enter')
pyautogui.press('enter')

time.sleep(5)
button_img = cv2.imread('fh.png')
button_location = pyautogui.locateAll(button_img)
if button_location is not None:
    button_x,button_y = pyautogui.center(button_location)
    pyautogui.click(button_x,button_y)
else:
    print('没有找到按钮图像')

以下是对这段代码的分析:

一、整体功能

这段代码的主要功能是使用 DrissionPage 的 ChromiumPage 打开百度网页,然后通过模拟键盘操作将地址改为http://www.2345.com并访问,接着等待 5 秒后,尝试在当前屏幕中找到名为fh.png的图像所对应的按钮,如果找到则点击该按钮,否则输出 "没有找到按钮图像"。

二、代码详解

from DrissionPage._pages.chromium_page import ChromiumPage和page = ChromiumPage():

这部分代码导入了 DrissionPage 库中的 ChromiumPage 类,并创建了一个名为page的实例,用于控制 Chromium 浏览器。

page.get("http://www.baidu.com"):

使用page实例打开百度的网址。

import pyautogui和后续与pyautogui相关的代码:

pyautogui是一个用于自动化 GUI 操作的库。

pyautogui.hotkey('ctrl','l')模拟按下 "Ctrl+L" 组合键,通常用于选中浏览器地址栏。

pyautogui.write('http://www.2345.com')在地址栏中输入新的网址。

pyautogui.press('enter')两次,确认输入并访问新网址。

time.sleep(5):

让程序暂停 5 秒,等待页面加载。

button_img = cv2.imread('fh.png')、button_location = pyautogui.locateAll(button_img)和后续的条件判断:

这里使用cv2(OpenCV)库读取一个名为fh.png的图像,然后通过pyautogui.locateAll在屏幕上查找该图像的位置。如果找到,计算图像中心坐标并点击;如果未找到,则输出提示信息。

相关推荐
红红谈说8 分钟前
定时发布关机就停,本地定时任务的补跑策略怎么设计?
运维·服务器·定时任务·本地调度·补跑策略·幂等互斥·执行记录
4SAPI27 分钟前
企业级大模型工作流基础设施选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
运维·人工智能·架构·自动化
幽默小吴30 分钟前
nginx篇
运维·nginx
爱和冰阔落35 分钟前
【Linux网络】UDP 服务器怎么写?从 socket、bind 到 recvfrom/sendto,手写完整回显服务器
linux·运维·服务器·网络
知已难寻44 分钟前
00 · OpenStack 总纲——从云计算到 OpenStack 全景
运维·服务器·云原生·云计算·负载均衡·openstack·perl
东舟技术1 小时前
从人工目检到AI视觉:智能座舱瞬态故障的自动化捕获与溯源
功能测试·测试工具·自动化
七夜zippoe1 小时前
Agent 网关设计:统一入口、智能路由与负载均衡
运维·ai·log4j·负载均衡·agent·网关设计
Tel199253080041 小时前
旋转变压器型编码器转多种绝对值协议 旋变转SSI/BISS-C/ENDAT2.2 RS422RTU协议+增量 转换器
单片机·自动化·工业自动化·仪器仪表·工控设备
CQU_JIAKE1 小时前
10.28【A】
linux·运维·网络
爱和冰阔落1 小时前
【Linux网络】Socket 编程前要搞懂什么?从 IP、端口到字节序与 sockaddr,一次理清网络通信基础
linux·运维·网络·tcp/ip