zhniy 2023-03-01 11:37 采纳率: 60%
浏览 20
已结题

python脚本运行中两次复制的问题

当我使用pyperclip读取文本中的信息依次粘贴没有任何问题,但是当我加上pyautogui的图形化操作之后,就出现了粘贴之后才会复制新的内容,导致两次粘贴都是第一次的内容,当粘贴结束之后才会复制新的内容

    for i in total_length:
        # 点击搜索
        click(search_img)

        # 输入用户名字
        sleep(0.5)
        # 复制用户名到搜索框
        send_name(i, sleeps_time)
        print(pyperclip.paste())

        # 点击用户分类
        sleep(0.5)
        click(user_img)

        # 点击第一个用户
        sleep(0.5)
        pyautogui.click(938, 206, duration=0.2)

        # 点击私聊按钮
        sleep(0.5)
        click(private_chat)

        # 点击聊天框
        sleep(0.5)
        click(click_chat)

        # 发送聊天信息
        sleep(2)
        print(pyperclip.paste())
        # 复制文本中设定好的一段话到发送框
        send_info(template_chat, sleeps_time)
        print(pyperclip.paste())

        # 点击发送
        mini_click(end_send)

这是循环的代码块,有人能帮忙看看到底是什么问题吗

  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-03-01 11:49
    关注

    基于Monster 组和GPT的调写:
    可能是粘贴操作在执行之前没有足够的时间来读取新的剪贴板内容。在这种情况下,可以用 pyperclip.waitForNewPaste() 函数等待新内容的出现,然后再执行粘贴操作。例如:

    import pyperclip
    import pyautogui
    
    for i in total_length:
        # 点击搜索
        click(search_img)
    
        # 输入用户名字
        sleep(0.5)
        # 复制用户名到搜索框
        send_name(i, sleeps_time)
        # 等待新内容的出现
        pyperclip.waitForNewPaste()
        print(pyperclip.paste())
    
        # 点击用户分类
        sleep(0.5)
        click(user_img)
    
        # 点击第一个用户
        sleep(0.5)
        pyautogui.click(938, 206, duration=0.2)
    
        # 点击私聊按钮
        sleep(0.5)
        click(private_chat)
    
        # 点击聊天框
        sleep(0.5)
        click(click_chat)
    
        # 发送聊天信息
        sleep(2)
        # 等待新内容的出现
        pyperclip.waitForNewPaste()
        print(pyperclip.paste())
        # 复制文本中设定好的一段话到发送框
        send_info(template_chat, sleeps_time)
        # 等待新内容的出现
        pyperclip.waitForNewPaste()
        print(pyperclip.paste())
    
        # 点击发送
        mini_click(end_send)
    
    
    

    这样,当新内容可用时,粘贴操作才会执行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日