如何滚动查看网站上的图片?

How to scroll to see images on a website?

所以我有这个程序,它可以向下滚动,直到它可以找到屏幕上的所有图片。这是我的代码:

def scrolluntil():
    allsat = False
    while allsat == False:
        pyautogui.scroll(-100)
        fan = locateCenterOnScreen("findaname.png")
        tl = locateCenterOnScreen("topleft.png")
        tr = locateCenterOnScreen("topright.png")
        if fan is not None:
            if tl is not None:
                if tr is not None:
                    allsat = True

一直往下翻,一直往下翻,屏幕上有图也没有停,图片是对的。

我认为您需要为每个要查找的内容设置一个标志。现在代码的写法,allsat=True只会在所有图片同时出现时执行。

这是一种粗略的方法:

def scrolluntil():
    allsat = False
    fan    = False
    tl     = False
    tr     = False
    while allsat == False:
        pyautogui.scroll(-100)
        if fan == False:
            if locateCenterOnScreen("findaname.png") is not None:
                fan = True
        if tl == False:
            if locateCenterOnScreen("topleft.png") is not None:
                tl = True
        if tr == False:
            if locateCenterOnScreen("topright.png") is not None:
                tr = True
        if fan:
            if tl:
                if tr:
                    allsat = True

还值得注意的是,如果您升级 pyautogui 的版本,则可能必须更新代码才能使用 try...except 块。来自 docs:

NOTE: As of version 0.9.41, if the locate functions can’t find the provided image, they’ll raise ImageNotFoundException instead of returning None.