当前位置:网站首页>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

边栏推荐
- Why PHP is not safe
- Gbase 8s parallel operation problem scenario description
- Cannot import name 'escape' from 'jinja2' [solved successfully]
- Structure syntaxique des procédures stockées gbase 8S
- Upgrade PHP to php7 X (III) failure of wechat payment callback
- GBASE 8s的包
- SOC验证环境的启动方式
- [untitled]
- Php7.2 add JPEG extension
- Chapter IX app project test (2) test tools
猜你喜欢

Deep learning - several types of learning

Php7.2 add JPEG extension

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

leetcode1221. 分割平衡字符串

在 .NET 6 中使用 dotnet format 格式化代码

Gbase 8s overall architecture

CTF_ Web: Advanced questions of attack and defense world expert zone WP (9-14)

Gbase 8s index b+ tree

"Daily practice, happy water" 1108 IP address invalidation

Efficient NoSQL database service Amazon dynamodb experience sharing
随机推荐
Upgrade PHP to php7 The impact of X (I). The problem of session retention. Keep login
JS' sort() function
Upgrade PHP to php7 The impact of X (2), the obsolescence of mcrypt decryption
dotnet-exec 0.4.0 released
深度学习——几种学习类型
XML (VIII)
魔法猪系统重装大师怎么使用
GBASE 8s存储过程语法结构
CTF_ Web: deserialization learning notes (I) classes and objects in PHP
Mongodb cluster
cannot import name ‘escape’ from ‘jinja2’【成功解决】
Classification of gbase 8s locks
Package for gbase 8s
Wechat likes to pay attention to the solution of invalid automatic reply
My IC journey - the growth of senior chip design verification engineers - "Hu" said that IC engineers are perfect and advanced
Cannot import name 'escape' from 'jinja2' [solved successfully]
Sleep more, you can lose weight. According to the latest research from the University of Chicago, sleeping more than 1 hour a day is equivalent to eating less than one fried chicken leg
STM32的DMA双缓冲模式详解
【FLink】access closed classloader classloader.check-leaked-classloader
After the newly assigned variable of the applet is modified, the original variable will also be modified