通过python实现弹窗广告拦截过程详解

yipeiwu_com7年前Python基础

原理

这里实现的弹窗拦截,是程序不断的监视电脑屏幕,当出现需要拦截的窗口时,自动控制屏幕点击事件关闭。第一步:将需要关闭弹窗的点击位置截图。

直接上代码

while True:
#获取图片的相对屏幕的中心点坐标
    # location = pyautogui.locateCenterOnScreen('close.PNG')
#获取图片在屏幕的位置及大小
    location=pyautogui.locateOnScreen('close1.PNG')
    if location != None:
        print(location)
        x1,y1,x2,y2 = location
        print(x1,y1,x2,y2)
#记录鼠标的位置
        x3, y3 = pyautogui.position()
#计算出需要点击的位置坐标
        pyautogui.click(x1+x2-25, y1+y2/2, button='left')
将鼠标的位置回到开始位置
        pyautogui.moveTo(x3, y3)

这样就实现了一个自己定制的拦截弹窗。

补充

根据这个原理可以做更多电脑自动化工具。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3解析库pyquery的深入讲解

前言 pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和...

Linux上使用Python统计每天的键盘输入次数

Github 项目主页 工具源码 分析结果: total : 15981 1568.0 == Backspace 1103.0 == Tab 1038.0 == Enter 900....

Python Numpy 实现交换两行和两列的方法

numpy应该是一个和常用的包了,但是在百度查了很久,也没有查到如何交换两列(交换两行的有),所以查看了其他的文档,找到了方法。 交换两行 比如a = np.array([[1,2,3]...

python如何为创建大量实例节省内存

python如何为创建大量实例节省内存,具体内容如下 案例:   某网络游戏中,定义了玩家类Player(id, name, status,....),每有一个在线玩家,在服务器程序内...

解决Ubuntu pip 安装 mysql-python包出错的问题

问题描述如下,报没有找到mysql_config环境变量 $ pip install mysql-python Collecting MySQL-python==1.2.5 (f...