问题:我想写一个Python脚本,它会截取我每次加载时在浏览器中打开的网站的截图。
问题是我有一个网站,其中有300个考试问题我可以通过,尝试其中每一个,我会在提交答案时进行更正。在特定日期之后我将无法访问此调查问卷,但我想保留问题(我可以写下来,但我的懒惰很强,并且想要学习Python)。
“尝试”:我想用imgkit做一个简单的Python脚本来截取屏幕截图。我对其他建议持开放态度,因为imgkit是我在寻找这个时看到的第一件事,代码看起来很简单:
import imgkit
imgkit.from_url('http://webpage.com', 'out.jpg')
但是我必须为每个网页提供网址,这比使用操作系统功能截图更加繁琐,因此我希望将其自动化。
问题:
答案 0 :(得分:1)
Selenium是你的朋友。它是一个专为测试而设计的框架,但它可以让你想要的东西变得非常容易。
Selenium允许您启动Web浏览器并对其进行控制。因此,您可以指示它转到您想要的网址然后执行操作。通常你会指示它点击这里,写一个表格等等。
在您的情况下,您只希望它打开某个地址,截取屏幕截图,转到下一个地址并重复。
Here你有一个如何做你想要的教程。
具体代码是:
from selenium import webdriver
#1. Get the driver to manage the web-browser you choose
driver = webdriver.Chrome()
#2. Go the the webadress you want
driver.get('https://python.org')
#3. Take a screenshot
driver.save_screenshot("screenshot.png")
driver.close()
PS:为了让教程运行,您需要安装Selenium的Web驱动程序才能启动并运行Chrome。 Here是对此的说明。