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

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

相关推荐
学习路上_write6 分钟前
Linux黑马命令学习
linux·运维·服务器
Android系统攻城狮30 分钟前
Linux Gstreamer深度解析之gst_audio_channel_reorder_map调用流程与实战(十八)
linux·运维·服务器·音视频进阶·gstreamer音视频进阶
新时代牛马1 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
TomEval1 小时前
【App 自动化】14 - App 自动化基础与环境
运维·自动化
新时代牛马1 小时前
Linux 防火墙:nftables 与iptables 兼容层
linux·运维·服务器
xhbh6661 小时前
中小企业 Redis 运维,如何安全归档 RDB、AOF 备份文件?
运维·数据库·缓存·数据备份·文件备份·同步备份·号码备份
是逍遥子没错2 小时前
一个斜杠,击穿整座网关:API网关路径前缀绕过认证实战
运维·服务器·web安全·网络安全·渗透测试·系统安全
其实防守也摸鱼2 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
努力努力再努力wz2 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert3 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器