【发布时间】:2017-12-09 02:57:12
【问题描述】:
我正在尝试使用 python selenium 库截取多个网站的屏幕截图。
这里有一系列网站,例如
data = array of website [ 'google.com', 'youtube.com'... ]
如果网站加载时间过长,我希望程序开始打开下一个网站。
但是这段代码并没有达到我的预期......
browser = webdriver.Chrome('/Users/wk/Desktop/checkSafeContent/chromedriver')
for index, url in enumerate(data):
browser.set_page_load_timeout(30)
try:
browser.get('http://'+data[index])
except:
print("takes too long")
browser.quit()
browser = webdriver.Chrome('/Users/wk/Desktop/checkSafeContent/chromedriver')
else:
browser.maximize_window()
browser.implicitly_wait(20)
# where images saved
browser.save_screenshot('/.../'+str(index)+'.png')
browser.quit()
我认为我应该使用 browser.close(),但我不知道具体如何。
【问题讨论】:
-
行为与您的预期有何不同?
-
你应该发布运行代码。目前你有
else没有if。 -
docs.python.org/2/tutorial/errors.html。这个网站说我们可以有其他的尝试块。如果 browser = webdriver.Chrome('/Users/wk/Desktop/checkSafeContent/chromedriver') 正确指向 chromedriver,则代码可以正常工作。
-
您不必
quit()浏览器,只需将其指向下一个 URL 并继续。implicitly_wait没有做你认为的事情。您应该阅读文档并了解它的工作原理和作用。
标签: python arrays selenium exception