0

当我通过 Python 脚本在 OS X 上使用 Google Chrome 运行 Selenium 风格的集成测试时,我想在每个步骤中截取屏幕截图。我只想捕获 Google Chrome 窗口,而不是整个桌面。有什么方法可以从 Python 脚本中抓取 OS X 中当前正在运行的 Google Chrome 窗口的屏幕吗?

4

3 回答 3

1

我没有在 Chrome 上的 OS X 上完成它,但是这样的事情不起作用:

browser.open("/page-to-capture")
png = browser.capture_screenshot_to_string()
with open("screenshot.png", "wb") as fh:
    fh.write(png.decode('base64'))

当然,过去在 linux 上使用 selenium 和 firefox 对我有用。

于 2012-12-05T21:25:26.650 回答
0

事实证明,selenium 有一个get_screenshot_as_file方法,适用于 OS X 和 Google Chrome。

于 2012-12-06T03:52:24.523 回答
0

听起来您正在寻找MacOS 下的screencapture”命令行工具。你可以从你的 Python 脚本中调用它吗?

其中一个选项是“ -w”,即“窗口选择模式”。我不确定这是否会在脚本中起作用(即它是否需要用户交互?),但如果这不起作用,您也可以尝试“ -m”,这是“仅捕获主监视器”选项。

于 2012-12-05T21:04:39.507 回答