如何滚动查看网站上的图片?
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.
所以我有这个程序,它可以向下滚动,直到它可以找到屏幕上的所有图片。这是我的代码:
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.