我正在为我的应用程序使用Windows“问题步骤记录器”(PSR),并且需要将每个ActionSet(屏幕截图)与时间戳存储在勾选级别粒度中。目前PSR html文件以下列格式给出了每个动作:
echo array_search(max($dist), $dist);
此处,时间戳为Time = <EachAction ActionNumber="120" Time="11:43:44 AM" Pid="8992" ProgramId="0000da39a3ee5e6b4b0d3255bfef95601890afd80709" FileId="0000f53c3e9453e8e4352db97fddbea5bc1357a3d2a2" FileName="ECLIPSE.EXE" CommandLine="ECLIPSE.EXE">
<Description>User left click on "Close (button)" in "PyDev - J6VideoMining/src/utils/constants.py - Eclipse"</Description>
<Action>Mouse Left Click</Action>
<CursorCoordsXY>1349,7</CursorCoordsXY>
<ScreenCoordsXYWH>0,0,1366,768</ScreenCoordsXYWH>
<UIAStack>
<Level BoundingRectangle="1317,0,47,20" ControlType="50000" Name="Close" LocalizedControlType="button" />
<Level BoundingRectangle="16,-5,1350,28" ControlType="50037" LocalizedControlType="title bar" />
<Level BoundingRectangle="-8,-8,1382,744" ClassName="SWT_Window0" ControlType="50032" FrameworkId="Win32" Name="Eclipse SDK" LocalizedControlType="window" />
</UIAStack>
<ScreenshotFileName>screenshot0120.JPEG</ScreenshotFileName>
</EachAction>
。目前我能够将其转换为毫秒级 - PSR时间在当地时区。我将它转换为UTC日期,然后获得ms。
我能做的一个解决方法是,找到另一个屏幕记录器。但我没有找到任何,可以获得像PSR这样的屏幕细节(你可以在上面给出的html片段中的"11:43:44 AM"
标签中看到。另一种粗略的方式是使用另一个屏幕录像机和PSR,并且时间同步事件截图。但我需要避免额外的时间同步错误开销,并且还要运行多个屏幕录像机。
我正在使用PSR作为应用程序的一部分,其中刻度粒度是必不可少的。
赞赏任何指针!
答案 0 :(得分:0)
我已经找到了解决这个问题的Python方法。我现在直接使用PSR内部使用的Windows DLL,而不是依赖PSR。为此,我使用名为PIYA的MSAA Python客户端库。它使用名为comtypes的DLL包装器。