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

复制代码
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在屏幕上查找该图像的位置。如果找到,计算图像中心坐标并点击;如果未找到,则输出提示信息。

相关推荐
小鹿研究点东西2 分钟前
AI直播工具实操:从直播录制、AI剪辑去重到直播伴侣开播完整流程
人工智能·自动化·音视频·语音识别
AI帮小忙1 小时前
Debian系linux操作系统里安装OpenClaw
linux·运维·debian
极创信息1 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
志栋智能2 小时前
超自动化巡检剧本(Playbook):运维经验的数字化封装
运维·自动化
北京耐用通信2 小时前
国产化替代优选!耐达讯自动化NY-HUB6完美兼容替代PB-HUB6\GL
人工智能·科技·网络协议·自动化·信息与通信
ElevenS_it1882 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
weixin_307779132 小时前
Python写入Shell文件使用Linux系统的换行符
linux·开发语言·python·自动化
liulilittle3 小时前
Linux Swap 文件配置与持久化(虚拟内存)
linux·运维·服务器
未若君雅裁3 小时前
日志采集与ELK:从本地日志到集中检索分析
运维·elk·jenkins
零陵上将军_xdr3 小时前
从沙子到CPU——计算机硬件基础入门
linux·运维·硬件架构