python - 有没有办法在不将其记录到机器人框架中的 HTML 日志的情况下捕获页面截图?
问题描述
目前当我这样做时:
Capture Page Screenshot ${filename}
或者在我的图书馆:
sel = BuiltIn().get_library_instance('SeleniumLibrary')
sel.capture_page_screenshot(path)
屏幕截图文件被记录到 HTML 日志中。我想捕获屏幕截图,但日志中的文件不是必需的,因为我计划围绕屏幕截图执行更多操作(与基线比较。)
如何从 HTML 日志中删除文件,或者在捕获屏幕截图时阻止记录它?
解决方案
底层 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
推荐阅读
- python - 是否可以让我的程序用 pygame 绘制一个形状,稍等片刻,然后再绘制另一个?但是,我仍然希望程序的其余部分运行
- java - 如何在随机数数组中找到素数?
- python - 访问列表中列表的元素 - python
- javascript - 有没有办法从javascript更改python脚本中变量的值?
- javascript - 使用纯 JavaScript 调整网页大小以适应浏览器窗口
- python - 如何修复“tkinter 回调中的异常”:Python 中的“不支持的操作数类型”
- cmake - 每次 cmake 重新配置/重新生成我的 Makefile 时,如何重置由 cmake 创建的文件?
- regex - 用于查找格式错误的引用字符串的正则表达式
- python - 为什么设置“export OPENBLAS_NUM_THREADS=1”会影响性能?
- neo4j - 将重复节点和保存器关系合并到这些重复节点所连接的节点