首页 > 解决方案 > 有没有办法在不将其记录到机器人框架中的 HTML 日志的情况下捕获页面截图?

问题描述

目前当我这样做时:

Capture Page Screenshot  ${filename}

或者在我的图书馆:

sel = BuiltIn().get_library_instance('SeleniumLibrary')
sel.capture_page_screenshot(path)

屏幕截图文件被记录到 HTML 日志中。我想捕获屏幕截图,但日志中的文件不是必需的,因为我计划围绕屏幕截图执行更多操作(与基线比较。)

如何从 HTML 日志中删除文件,或者在捕获屏幕截图时阻止记录它?

标签: pythonseleniumrobotframework

解决方案


底层 selenium 库(python 库,而不是关键字库)有一个名为save_screenshot. 您可以获得对底层 selenium 驱动程序的引用并直接调用该方法。

下面是一个关键字示例,它截取屏幕截图,然后将其保存到具有给定文件名的文件中:

*** Keywords ***
Save screenshot
    [Arguments]  ${filename}
    ${selib}=  Get library instance  SeleniumLibrary
    Call method  ${selib.driver}  save_screenshot  ${filename}

要将屏幕截图保存在当前工作目录中的文件“screenshot.png”中,您可以像以下示例中那样调用它:

*** Test Cases ***
Example
    Go to  http://www.robotframework.org
    Save screenshot  screenshot.png

推荐阅读