Selenium - 如何拍摄多个截图(爆发)并保存它们

时间:2018-01-24 15:48:22

标签: selenium selenium-webdriver web-scraping

在访问包含数据的网站时,我收到“拒绝访问”消息,但由于一个错误,我能够看到我想要刮掉大约十分之一秒的数据。

我不相信能够以.xml或类似的格式“下载”数据,但我很乐意只截取它的截图。

为了实现这一目标,我需要编写可在3秒内截取约30次的代码(在请求打开页面和获取“拒绝访问”消息之间)。

可行吗?

没有语言/浏览器偏好,愿意适应。

2 个答案:

答案 0 :(得分:0)

对于您的任务,使用起来会更有帮助 driver.getPageSource()
它会将html源代码作为String,因此您可以保存它 见webdriver docs

答案 1 :(得分:0)

您可以在循环中调用get_screenshot_as_file(),根据需要拍摄尽可能多的屏幕截图。使用strftime()为屏幕截图名称添加时间戳,以便screenshot名称不同。

driver.get_screenshot_as_file("C:\\path\\screenshots\\{}.png".format(strftime("%Y-%m-%d %H:%M:%S", gmtime())))