我在问有关Pyautogui的问题。 我想单击按钮/链接/图像,但是在我的国家/地区,互联网速度非常慢。因此,我尝试延迟该程序。但是有时它不起作用。该程序在出现在网站上之前,单击链接/图像/按钮。这就是我无法继续执行或整个程序失败的方式...无论如何,该程序可以找到按钮/链接/图像是否显示?如果未显示,则应等待30秒或1分钟以上。这就是我的程序每次都将运行的方式!我真的很想解决这个问题。希望您能答复。
答案 0 :(得分:0)
如果您正在查看一堆内容不同的不同网页,这可能会很棘手。但是,如果您知道必须有特定的图像或链接文本,就可以了。
下面的max_wait是这样,程序不会无限循环。使其变大。
对于您知道必须在页面中显示的特定图像,您可以尝试
import time
import pyautogui
found_image = False
max_wait = 120
x = time.time()
while (found_image == False) and time.time() - x < max_wait:
if (pyautogui.locateOnScreen('my_png.png') is not None):
found_image = True
if found_image: do_main_test()
对于文本,您可以使用pyautogui选择所有...
import time
import pyautogui
import pyperclip
x = time.time()
found_text = False
max_wait = 120
while (found_text == False) and time.time() - x < max_wait:
pyautogui.click(150, 150) # or wherever is in the window
pyautogui.hotkey('ctrl', 'a')
pyautogui.hotkey('ctrl', 'c')
pyautogui.click(x=150, y=150)
lines = pyperclip.paste()
found_text = needed_text in lines
if not found_text: sleep(5) # this is so pyautogui isn't continually highlighting etc.
if found_text: do_main_test()
我对跟踪按钮一无所知,但希望文本和图像示例有用。当然,只有在do_main_test()
和found_text
为true的情况下,您才可以指定运行found_image
。