如何从Web浏览器中的Silverlight应用程序捕获图像

p_c*_*cos 5 python silverlight selenium robotframework selenium-webdriver

我正在使用Robot Framework来自动化网站.本网站使用Silverlight应用程序显示视频.

我的目标: 在我的机器人框架中创建一个自定义关键字,它采用一个web元素,web元素是Silverlight播放器在页面上的位置,并截取可见内容.我不需要与Silverlight应用程序进行交互.

已完成工作: 我已经创建了一个自定义关键字Capture Screenshot Of Element,它接受一个网页元素并返回该特定元素的屏幕截图.但是,如果元素包含Silverlight应用程序,则我返回的所有内容都是空白背景颜色,而不是Silverlight应用程序上显示的图像.

有没有办法在浏览器中指定Web元素并显示该元素在屏幕上实际显示的内容?

Sha*_*riq 0

虽然这是一个非常古老的问题,但我以前遇到过类似的问题,想在这里分享详细信息。

当您使用 selenium 库截取屏幕截图时,它会调用 Web 驱动程序方法将整个页面内容转换为图像。但对于 silverlight 组件来说,由于显而易见的原因,它无法捕获它。

解决方案是您需要获取当前屏幕图像而不是依赖浏览器。最简单的方法之一是使用 Robot Framework SikuliLibrary。它还具有捕获区域关键字,可以捕获屏幕特定部分的快照。我希望这足以满足您的要求。