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

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

相关推荐
2301_780789663 分钟前
IPv6 洪水猛兽:DDoS 攻击面 3 倍扩张下的精准清洗新战法
运维·安全·web安全·ddos·devops
Metaphor6923 小时前
Python 自动化办公:如何轻松在 PDF 中导入与导出表单数据
python·pdf·自动化
程序员-Benothing9 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
Mininglamp_27189 小时前
接口调用 vs 屏幕理解:两种 GUI 自动化架构的技术取舍
运维·架构·自动化
爱喝水的鱼丶11 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
木子欢儿12 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..12 小时前
【Linux】文件系统(一)
linux·运维·服务器
天空属于哈夫克312 小时前
企业微信API二次开发 赋能私域运营自动化
运维·自动化·企业微信
zimoyin12 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
天远API13 小时前
零信任架构实战:基于天远运营商二要素V即时版构建自动化分时租赁出行会员身份一致性审核网关
运维·人工智能·架构·自动化