作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用机器人框架来自动化网站。本网站使用 Silverlight 应用程序来显示视频。
我的目标:
在我的 Robot Framework 中创建一个自定义关键字,该关键字采用 web 元素,web 元素是 Silverlight 播放器在页面上的位置并截取可见内容的屏幕截图。我不需要与 Silverlight 应用程序交互。
已经完成的工作:
我已经创建了自定义关键字 Capture Screenshot Of Element
它接受一个 web 元素并返回该特定元素的屏幕截图。
但是,如果该元素包含 Silverlight 应用程序,则返回的只是空白背景色,而不是 Silverlight 应用程序上显示的图像。
有没有办法在浏览器中指定一个 web 元素并显示该元素在屏幕上实际看到的内容?
最佳答案
虽然这是一个非常古老的问题,但我之前遇到过类似的问题,并想在这里分享详细信息。
当您使用 selenium 库截取屏幕截图时,它会调用 Web 驱动程序方法将整个页面内容转换为图像。但是对于 Silverlight 组件,由于显而易见的原因,它无法捕获它。
解决方案是您需要获取当前屏幕图像而不是依赖浏览器。最简单的方法之一是使用 Robot Framework SikuliLibrary .它还有Capture Region可以对屏幕的特定部分进行快照的关键字。我希望这足以满足您的要求。
关于python - 如何在 Web 浏览器中从 Silverlight 应用程序捕获图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35043206/
我是一名优秀的程序员,十分优秀!