今日头条自动点赞!

该文章介绍了如何使用Python库pyautogui实现网页自动点击功能,当找不到目标图片时,通过滚动页面和刷新操作来重新定位并点击,适用于监控和自动化特定网站任务。
摘要由CSDN通过智能技术生成
import pyautogui
import time
import random
import inspect
import os

platform = "toutiao"  # 可以设置为 "twitter", 或 "toutiao"
prefix = 'pic/toutiao/'

image_paths = {
    "toutiao": [prefix + "favorite.png", prefix + "headfavar.png"]  # 头条点赞
}

image_path, next_pic = image_paths.get(platform, [None, None])

failedImage ='failedImage.png'
x, y = None, None
counter = 1008000
clickcounter =0;
delay = 2
scolltime = 30 # 滚动次数
refresh_count = 0

def debug_print(message):
    frame = inspect.currentframe().f_back
    line_number = frame.f_lineno
    file_name = inspect.getframeinfo(frame).filename
    print(f"[DEBUG] {file_name}, Line {line_number}: {message}")

if __name__ == "__main__":

    while counter > 0:
        try:
            time.sleep(delay) # 确保点击的按钮是正确的坐标
            x, y = pyautogui.locateCenterOnScreen(image_path)
            # 找到图片后点击,并将计数器减1
            pyautogui.click(x, y)
        except:
            my_array = [random.randint(-350, -100) for i in range(scolltime)]
            count = 0
            for i in range(len(my_array)):
                random_index = random.randint(0, len(my_array) - 1)
                print(my_array[random_index])
                pyautogui.scroll( my_array[random_index])  # 向下滚动50个像素

                try:
                   time.sleep(delay)
                   x, y = pyautogui.locateCenterOnScreen(image_path)
                   pyautogui.click(x, y)
                   counter -= 1
                   clickcounter += 1
                   print(f"找到了图片,还剩{counter}次机会 (Line {line_number})")  # 如果未找到图片,则进行刷新操作
                   print(f"找到了图片,已经点击了{clickcounter}次 (Line {line_number})")
                   break
                except Exception as e:
                    print(f"未执行滚动: 还剩{count}次刷新", e)
                    count += 1
                    if  count == scolltime :
                        # pyautogui.press('f5')
                        if platform == "linkedin":
                            x, y = pyautogui.locateCenterOnScreen(next_pic)
                             #找到图片后点击,并将计数器减1
                            pyautogui.click(x, y)
                        else:
                            pyautogui.press('f5')
                        time.sleep(delay * 2)  # 等待10秒钟再继续
                        # 刷新次数加1
                        refresh_count += 1
                        continue

主要目的是在程序无法找到指定的图片时进行滚动页面或者刷新页面,然后重新尝试找到图片并点击。具体来说:

  1. try 语句块内部尝试寻找指定的图片,如果找到了则进行点击,并将计数器减1,表示完成了一次点击任务。

  2. 如果 try 块中的代码出现了异常(无法找到指定的图片),则执行 except 语句块中的代码。在这个 except 块中,首先生成了一个随机数组 my_array,然后对这个数组进行循环遍历。

  3. 在循环内部,程序会随机选择一个下滚动距离,然后执行滚动操作 pyautogui.scroll(my_array[random_index])

  4. 在滚动后,程序尝试再次寻找指定的图片,如果找到了,就执行点击操作,并更新计数器,表示完成了一次点击任务。

  5. 如果在滚动和重新寻找图片的过程中依然无法找到指定的图片,程序会继续循环,直到达到滚动次数的限制。在达到滚动次数限制后,程序会尝试进行页面刷新(通过按下 F5 键),然后等待一段时间后继续执行循环。

  6. 在进行页面刷新后,会将刷新次数加1,以便在未来的循环中对刷新次数进行判断,并可能采取不同的等待策略。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值