【问题标题】:PyAutoGUI, Stop CommandPyAutoGUI,停止命令
【发布时间】:2020-05-07 14:42:51
【问题描述】:

我实际上是在使用 Pyautogui 编写一个脚本,它控制我的鼠标并使用我的浏览器。我的问题是,如果最后一次点击不是点击超文本链接或类似的东西,我希望脚本停止以下操作或以下鼠标移动和点击!

这是我的代码:

import pyautogui

pyautogui.moveTo(118, 417, duration = 1) #immeuble A11 adductabilité
pyautogui.click(117, 418,)
pyautogui.moveTo(118, 418, duration = 1)
pyautogui.hotkey('ctrl', 'c')
pyautogui.moveTo(419, 1064, duration = 0.1) #go down to Internet explorer
pyautogui.click(419, 1064,)
pyautogui.moveTo(543, 955, duration = 0.1)
# click on Internet explorer
pyautogui.click(543, 955,)
pyautogui.moveTo(1630, 112, duration = 0.1) # click on Rechercher (IPON)
pyautogui.click(1630, 112,)
pyautogui.moveTo(1661, 470, duration = 0.1) # click on Rechercher IMMEUBLE
pyautogui.click(1661, 470,)

【问题讨论】:

    标签: python pyautogui


    【解决方案1】:

    可能检查它在屏幕上的位置,如果它悬停在错误的位置,则取消代码?

    【讨论】:

    • 我不想手动检查它,如果搜索中没有出现任何内容,我希望程序自动搜索 Immeuble,所以我希望程序中止下一步并去搜索下一个 IMB 这就是我想做的 :( 有没有可能!!
    【解决方案2】:

    在我看来,您最好使用 Selenium 进行这种类型的操作:https://selenium-python.readthedocs.io/

    【讨论】:

    • 是的,我认为这很有用,谢谢兄弟,对不起,我是 python 的初学者 :( 是否可以在同一个脚本中使用 Pyautogui 和 selenium !!
    • 这不是一个答案,而是一个建议
    【解决方案3】:

    我的解决方案有点棘手:您需要跟踪浏览器 URL 的更改。如果已更改,则表示您已单击超链接。

    import pyautogui
    from tkinter import Tk
    
    
    def get_url():
        """ Return current browser URL """
        pyautogui.click(150, 50, duration=1)
        pyautogui.hotkey('ctrl', 'c')
        return Tk().clipboard_get()
    
    
    url = get_url()
    pyautogui.click(500, 500)  # do something
    if url != get_url():
        print("URL was changed!")
        # execute here 10 lines of code
    # rest of the code here
    

    但是当您必须处理网络浏览器时,使用selenium 会更有效。

    【讨论】:

    • 是的,它对我有帮助,但是是否可以不停止脚本而只是跳过例如脚本中的下 10 行!!我的意思是当 url 没有更改时程序需要自动跳过接下来的 10 线并继续脚本!有没有可能
    猜你喜欢
    • 2019-06-06
    • 2013-03-09
    • 2021-05-02
    • 2020-11-15
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多