gpt4 book ai didi

Python 每次加载时对特定选项卡进行屏幕截图

转载 作者:行者123 更新时间:2023-12-01 09:21:09 25 4
gpt4 key购买 nike

问题:我想编写一个 Python 脚本,每次加载我在浏览器中打开的网站时都会对其进行屏幕截图。

问题是,我有一个网站,里面有大约 300 道考试题,我可以通过这些题,尝试每一道题,然后在提交答案时得到更正。在某个日期之后我将无法访问此调查问卷,但我想保留这些问题(我可以写下来,但我懒惰很强,并且想学习Python)。

“尝试”:我想用 imgkit 编写一个简单的 Python 脚本来截取屏幕截图。我愿意接受其他建议,因为 imgkit 是我在寻找此内容时看到的第一件事,并且代码对我来说看起来简单明了:

import imgkit

imgkit.from_url('http://webpage.com', 'out.jpg')

但是我必须提供每个网页的网址,这比使用操作系统功能截图更繁琐,因此我想将其自动化。

问题:

  • 有没有一种方法可以让 Python监控浏览器选项卡并在每次重新加载时(即出现新问题时)截取屏幕截图?
  • 或者获取选项卡的 URL,将其传递给 imgkit 并截取屏幕截图。
  • 我看到的另一件事是 imgkit 可以从 HTML 文件生成“屏幕截图”。 Python 可以从我在浏览器中打开的选项卡下载 HTML 代码吗?

最佳答案

Selenium是你的 friend 吗?它是一个专为测试而设计的框架,但它将使您想要的事情变得非常简单。

Selenium 允许您启动网络浏览器并控制它。因此,您可以指示它访问您想要的网址,然后执行操作。通常您会指示它单击此处、写入表单等。

在您的情况下,您只希望它打开某个地址,截取屏幕截图,转到下一个地址并重复。

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 的网络驱动程序才能启动并运行 Chrome。 Here是相关说明。

关于Python 每次加载时对特定选项卡进行屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50782619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com