首页
学习
活动
专区
圈层
工具
发布

Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

记住locateOnScreen()在屏幕上找不到图像时会抛出异常,所以你应该在try语句中调用它: try: location = pyautogui.locateOnScreen('submit.png...获取窗口信息 图像识别是一种在屏幕上寻找东西的脆弱方式;如果单个像素是不同的颜色,那么pyautogui.locateOnScreen()就找不到图像。...如果您需要找到特定窗口在屏幕上的位置,使用 PyAutoGUI 的窗口函数会更快、更可靠。...如果他们找不到任何窗口,他们会返回一个空列表: pyautogui.getAllWindows():返回屏幕上每个可见窗口的Window对象列表。...如果一个窗口在桌面上的错误位置或者一些弹出窗口意外出现,你的脚本可能在屏幕上点击了错误的东西。

10.9K51

在 Windows 11 上关闭弹出窗口最正确方法

在您工作或尝试专注于某段内容时,弹出窗口和中断可能会很烦人。 虽然移动设备只有一个 DND 切换开关,但Windows呢?您可以在 Windows 11 上停止弹出窗口吗?...本文将告诉你关于弹出式窗口的一切。 我们可以在 Windows 11 上停止弹出窗口吗? 尽管可以消除 Windows 11 中的大部分弹窗,但某些确认弹窗和安全通知是无法绕过的。...此外,没有一种可靠的方法可以通过单击摆脱所有弹出窗口。在 Windows 11 上,若要消除弹出窗口,需要针对特定类型的弹出窗口进行关闭。...在 Windows 11 上停止弹出窗口的 8 种方法(分步教程) 要停止 Windows 11 上的弹出窗口,您可以选择关闭通知、启用焦点模式或禁用警报。这些方法中的每一种都有其优点和缺点。...现在将在您的系统上禁用通知。 常见问题 这些常见问题与在 Windows 11 上禁用通知有关,可以帮助您快速了解最新信息。 如果我只想禁用弹出窗口而不是通知怎么办?

7.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    来聊聊桌面图形界面的自动化和采集

    如今的计算机软件形态,已被 Web 占据大半,基本上我们能使用到的产品,都能由一个网站来提供服务。...PyAutoGUI 支持在 Windows、Linux 和 macOS 上使用。除了支持计算机的鼠标和键盘控制之外,还能提供简易的弹出框,并且支持进行截图。...在引入 PyAutoGUI 库之后: import pyautogui 通过 pyautogui.size() 获取屏幕的高度和宽度; 通过 pyautogui.position() 获取鼠标在屏幕上的坐标...如果桌面的操作出现了意外的情况,比如弹出了一个小广告、操作超时、软件更新提醒等等。 就会导致接下来的操作走向不可控的局面。 PyWinAuto 而 PyWinAuto 就要好很多。...比如,获取程序的主窗口: dlg = app['窗口名称'] 然后获取程序主窗口内的控件: btn = dlg['Button1'] 最后对控件进行操作: btn.click() 但是我们怎么知道程序内各个控件的结构呢

    2.7K20

    在Python中如何使用GUI自动化控制键盘和鼠标来实现高效的办公

    1.5.1 捕获屏幕快照1.5.2 分析屏幕快照 1.1 安装pyautogui 模块  在cmd命令行界面输入 pip install pyautogui 国内会有延迟,可能出现超时读取数据失败,多安装几遍就好了...(1)可以告诉脚本在每次调用函数以后有暂停的时间来允许我们关闭窗口,可以通过设置pyautogui.PAUSE来规定暂停的秒数。...1.3.2 获取鼠标位置  position()函数可以返回当前鼠标的位置,即由x,y组成的元组   1.4 控制鼠标交互  随着我们知道了鼠标在屏幕上的位置,我们就可以学着来点击,拖动和滚动鼠标。 ...1.4.2 拖动鼠标  拖动即移动鼠标,按着一个按键不放来移动屏幕上的位置,例如:可以在文件夹中拖动文件来移动位置,或者将文件等拉入发送框内相当于复制粘贴的操作 pyautogui提供了一个pyautogui.dragTo...意外也许是窗口发生了意外的移动,也许是弹出式对话框挡住了该按钮。这时不应该继续(可能会点击到错误的东西,造成严重破坏),程序可以 “看到”它没有点击在正确的东西上,并自行停止。

    5.4K31

    WPF 已知问题 窗口在屏幕外创建将不会刷新渲染

    本文告诉大家一个 WPF 的已知问题,如果窗口在创建的时候,设置在屏幕外,那这个窗口将不会进行实际的渲染,将这个窗口从屏幕外移到屏幕内的时候,将会出现窗口内容的一次闪烁。...换句话说就是存在窗口内容的重渲染 什么是窗口在屏幕外创建?...简单说法就是窗口不在屏幕内,如窗口的 Top 或 Left 太大或太小等,如下面代码创建窗口,而我的屏幕没有那么大,因此窗口就显示在我的屏幕外 private async void Button_OnClick...window.Top = 200; 调用的时候,将窗口从屏幕外移动到屏幕内时,窗口的背景从白色切换为灰色。...Task.Delay(TimeSpan.FromSeconds(1)); window.Top = 200; } 如果放在 Render 外,此时用户就可以先看到窗口显示在屏幕上

    1.1K30

    X11 设置多屏下窗口在哪个屏幕上全屏

    在 X11 里面,可以指定一个窗口应该在哪个屏幕上全屏显示,甚至可以指定窗口横跨几个屏幕显示 在 X11 里面,根据 Window Manager Protocols - Extended Window...然而 Xinerama 十分古老,现在可以使用 XRRGetMonitors 来获取 设计上,可以给上下、左右四个边角传入相同的显示器屏幕索引,从而让窗口在指定的显示器屏幕上全屏显示。...如果更细心一点,会发现窗口将会显示到鼠标最后一次落下的屏幕上。...或触摸最后点击到的屏幕上 在 上一篇博客 中,采用 XSetWMNormalHints 固定窗口所在的屏幕,此方法可以决定窗口应该在哪个屏幕上显示 在本文里面,将不使用 XSetWMNormalHints...,每个屏幕分别显示一个全屏的窗口 本文代码放在 github 和 gitee 上,可以使用如下命令行拉取代码。

    29510

    Android窗口管理分析(1):View如何绘制到屏幕上的主观理解

    窗口管理知识图谱.png WMS的作用是窗口管理 不负责View绘制 既然是概述,我们不妨直观的思考一个问题,Activity是如何呈现到屏幕上的,或者说View是如何被绘制到屏幕上来的?...wmParams.width = 800; wmParams.height = 800; mWindowManager.addView(mview, wmParams); 以上代码可以在主屏幕上添加一个...在利用WindowManager.addView添加窗口之前,TextView的onDraw不会被调用,也就说View必须被添加到窗口中,才会被绘制,或者可以这样理解,只有申请了依附窗口,View才会有可以绘制的目标内存...,但是从直观理解上,比较像子窗口(其实不是)。...每个View都有自己的onDraw回调,开发者可以在onDraw里绘制自己想要绘制的图像,很明显View的绘制是在APP端,直观上理解,View的绘制也不会交给服务端,不然也太不独立了,可是View绘制的内存是什么时候分配的呢

    2.7K61

    (译)SDL编程入门(2)在屏幕上显示图像

    在屏幕上显示图像 现在你已经打开了一个窗口,让我们在上面放一张图片。 注意:从现在开始,教程将只涉及源代码的关键部分。如果想看完整的程序,你必须下载完整的源码。...//我们要渲染的窗口 SDL_Window* gWindow = NULL; //窗口所包含的表面 SDL_Surface* gScreenSurface = NULL; //我们将加载并显示在屏幕上的图像...在以后的教程中,我们将介绍如何渲染GPU加速的图像。 我们在这里要处理的图像是屏幕图像(你在窗口内看到的)和我们将从文件中加载的图像。 请注意,这些都是指向 SDL 表面的指针。...在屏幕上绘制了所有我们要显示的这一帧画面后,我们要使用SDL_UpdateWindowSurface来更新屏幕。当你画到屏幕上的时候,一般不是画到你所能看到的屏幕图像上。...你在屏幕上看到的是前缓冲区。我们这样做的原因是因为大多数帧需要将多个对象绘制到屏幕上。如果我们只有一个前缓冲区,我们将能够看到正在绘制的帧,这意味着我们将看到未完成的帧。

    4.5K10

    PyAutoGUI,一个Python办公自动化利器!

    安装PyAutoGUI 首先,你需要通过pip来安装PyAutoGUI。...示例二:自动截图和图像识别 PyAutoGUI还可以让你自动截图,并且通过图像识别来找到屏幕上特定的元素,然后对其进行操作。 这对于需要在GUI应用程序中自动点击按钮或菜单项的任务特别有用。...import pyautogui # 截图并保存 pyautogui.screenshot('screenshot.png') # 假设我们需要找到屏幕上的某个特定图标并点击它 # 首先,截取那个图标的图片...,命名为"icon.png" # 使用locateCenterOnScreen找到屏幕上的图标位置 icon_location = pyautogui.locateCenterOnScreen('icon.png...() 若苹果电脑出现找不到某个方法问题,请按照下面操作步骤赋予权限。

    3.9K10

    dotnet 修复在 Linux 上使用 SkiaSharp 提示找不到 libSkiaSharp 库

    本文告诉大家如何简单修复在 Linux 上使用 SkiaSharp 提示找不到 libSkiaSharp 库 我的应用在 Windows 上跑的好好的,放在 Linux 上一运行就炸掉了,异常内容如下...解决的方法是再安装上 SkiaSharp.NativeAssets.Linux 或 SkiaSharp.NativeAssets.Linux.NoDependencies 库即可 如在 csproj 上添加以下代码用来安装...PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.0" /> 以上的方法经过我在...WSL 的 Ubuntu 上测试 本文的例子放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码

    6.1K20

    DNSPod十问张果:如何让数据在屏幕上跳舞?

    之所以到2012年才正式成立公司,是因为2012年我们才接了第一笔真正意义上的业务。...因为数据本身实际上是不存在复用能力的,通过数据结果做出的决策才具有复用能力。...7 吴洪声:数据上云、业务上云的大趋势之下,数据安全、用户隐私和业务数据驱动增长之间的矛盾也日益凸显。企业在享受数据互通的利益下,其实同样担心数据被监控或泄露。...其实RayData就像美图秀秀,将用户需要的产品能力从PS上整合到美图秀秀,以更简化直接地方式解决需求。...对于有些刚起步的中小微企业,他们可以尽可能的简化、优化数据可视化的部署路径,我们对此也有针对性的免费体验方案和更完善的可视化方案,尽力让所有企业都可以实现让数据在屏幕上跳舞。

    2.3K30
    领券