当前位置:网站首页>great! Auto like, I use pyautogui!
great! Auto like, I use pyautogui!
2022-06-25 04:45:00 【Python Technology】

writing | Leisure and joy
source :Python technology 「ID: pythonall」

In the last article 《Python Automatic operation GUI Artifact ——PyAutoGUI》 in , I explained to you pyautogui Some basic knowledge and operation of , The feedback is very good , Gave me a lot of praise , First of all, I want to tell you about three grams of oil !
While getting positive feedback from everyone , I was greatly encouraged , I feel that if I just introduce the basic operation , It's a bit addictive , So I worked overtime tonight , Although I don't want to open the computer , But I still have to bear the fatigue to give you a small example .
So , I went to the bathroom and washed my face with cold water , I was much more awake , Let's get to the point .
As a GUI Artifact of operation , We have seen that its operation is very simple , It's very easy to understand , Basically, you can see the function and know its function .
Let me show you a little chestnut , After reading this chestnut, you will understand the origin of its artifact .
Okay , Don't beat around the bush , Today's little chestnut is a lot of praise for Zhihu's articles .
Ideas
Let's take a look at Zhihu's personal homepage :

here , I will take the following tab Tab switch to the article here , What is displayed is the author's article list .
Let's think about it first , If I want to praise this author's article , What do I need to do ?
First , I need to find a like icon ; then , I click the like icon , Complete a like ; When I like the articles in my field of vision , I drag the page down , Continue with the above steps .
See here , Do you think it's a little bit strange to say so ?
But we have to write programs like this , Make every step clear , Then write the logic according to the steps , Or when you start writing logic , You may miss some details , Cause the program to fail to achieve the desired effect , or bug.
Realization
With the above steps , We can start developing code .
First , I want the program to recognize the like button . In the last article, I introduced a little chestnut , Is to find the browser icon on the desktop , We need to save the icon screenshot of the browser as a picture , Then pass it to the program , Let the program use this picture to look in the screen .
Same thing here , I first cut off the like button of Zhihu :

Follow the steps above , I first need to identify the like button on the current desktop , Just one line of code :
allLocation = pyautogui.locateAllOnScreen('agree.png')In this way, you can find all the like buttons on the desktop .
After finding the like button , The next step is to like :
def like():
time.sleep(1)
if pyautogui.locateOnScreen('agree.png'):
left, top, width, height = pyautogui.locateOnScreen('agree.png')
center = pyautogui.center((left, top, width, height))
pyautogui.click(center)
print(' I like it !')here , I had a rest first 1 Second , Prevent the program from running too fast , Crash the page or trigger the security policy of the platform .
Then I found the like button , Calculate the center point of the button , Then click .
such , We successfully completed a like operation .
then , Let me write another judgment , If the like buttons on the current desktop have been clicked , Just scroll the screen , Continue to like on the next screen :
while True:
allLocation = pyautogui.locateAllOnScreen('agree.png')
if len(list(allLocation)) > 0:
like() # Call the praise function
else:
try:
pyautogui.scroll(-500)
print(' I'm out !')
except:
print(' It's over ')The whole code runs like this :

Be careful , While the program is running , Be sure to switch the browser that opens the Zhihu page to the top of the desktop , To ensure that you are currently working on this page .
There is no termination condition here , So the program will run forever , Until you manually terminate .
summary
The whole chestnut is like this , Simple but not simple , Although only a few lines of code , But I finished an automatic operation for me . Perhaps the example given here is not appropriate , Because there are pages , If it's a waterfall page , That really can continue to praise , Maybe you can try giving csdn Like your article .
PS: Reply within company number 「Python」 You can enter Python Novice learning communication group , Together 100 Day plan !
Old rules , Brothers, remember , Right lower corner “ Looking at ” click , If you think the content of the article is good , Remember to share the circle of friends and let more people know !

【 Code Access method 】
Identify the QR code at the end of the text , reply : Leisure and joy

边栏推荐
- Gbase 8s index b+ tree
- Coordinate system left multiply right multiply
- Multithreading structure of gbase 8s
- Efficient NoSQL database service Amazon dynamodb experience sharing
- Kotlin Compose 监听软键盘 点击enter提交事件
- Bingbing's learning notes: implementation of circular queue
- GBASE 8s存储过程流程控制
- Leader: who can use redis expired monitoring to close orders and get out of here!
- js的arguments
- 绝了!自动点赞,我用 PyAutoGUI!
猜你喜欢

CTF_ Web: Advanced questions of attack and defense world expert zone WP (15-18)
Triangle class (construction and deconstruction)

js的sort()函数

固態硬盤開盤數據恢複的方法

重磅直播 | 相移法+多频外差之数学原理推导+实现

Records of ros2/dds/qos/ topics

Simple text analysis of malicious samples - Introduction

Upgrade PHP to php7 The impact of X (2), the obsolescence of mcrypt decryption

Upgrade PHP to php7 The impact of X (I). The problem of session retention. Keep login

领导:谁再用 Redis 过期监听实现关闭订单,立马滚蛋!
随机推荐
华为鸿蒙开发第四课
[untitled]
Multithreading structure of gbase 8s
GBASE 8s的触发器
Coordinate system left multiply right multiply
Code scanning payment flow chart of Alipay payment function developed by PHP
Machine learning deep learning -- Vectorization
Mongodb cluster
halcon之区域:多种区域(Region)生成(3)
CTF_ Web: Changan cup-2021 old but a little new & asuka
2.0springmvc uses restful
Method of opening data recovery of solid state disk
深度学习——几种学习类型
JS, BOM, DOM (VI)
win11蓝牙无法连接怎么办?win11蓝牙无法连接的解决方法
GBASE 8s存儲過程語法結構
Record the problem of C # print size once
Efficient NoSQL database service Amazon dynamodb experience sharing
php封装curl发送get、post请求方法,并使用
《牛客刷verilog》Part I Verilog快速入门