我只需要当前视口的屏幕截图,特别是滚动位置。基本上是当前Chrome驱动程序所做的。
据我所知,这似乎是完全可能的,但出于某种原因,屏幕截图命令总是努力拍摄完整的文档屏幕截图。事实上,IE驱动程序拍摄多个视口快照,然后将它们缝合在一起。
我使用的是Ruby webdriver,但我看不到任何东西,只能截取视口的屏幕。可能吗?
这是一个经常变化的问题...
AFAIK现在Chrome-和IEDriver都只捕获视口的屏幕截图,而FFDriver捕获整个页面的屏幕截图(FF将在未来改变这一点)。另见我对这个问题的回答。
在处理WebDriver时,有两种相互竞争的“屏幕截图”定义。第一个是开源项目使用的定义,其中屏幕截图被定义为加载页面的整个DOM的图像。在这种情况下,IE驱动程序和火狐驱动程序都在做项目自2010年以来定义的正确的事情。WebDriver的Chrome实现仅返回可见视图端口的图像是不正确的。
另一方面,W3CWebDriver规范将屏幕截图定义为仅为当前视图端口的截图。这与当前开源项目的驱动程序实现(IE和Firefox)不一致,并且有望在未来发生变化。一旦规范达到“候选推荐”状态,这些驱动程序可能会被更新。
另一方面,应该注意的是,IE驱动程序绝不会使用“滚动和缝合”方法来创建其屏幕截图。它确实将浏览器窗口的大小调整到足以显示整个DOM的大小,正如请求屏幕截图时计算的那样,并为其拍摄图像。但是,请注意,IE10和IE11在生成这些完整的DOM屏幕截图时存在一些问题,具体取决于您的操作系统和所使用的IEDriverServer
可执行文件的位。
目前,您需要使用WebDriver外部的工具来获取IE和Firefox的仅用于查看端口的屏幕截图。
我试着用java selenium web驱动程序中的TakeScreenshot来截屏。当我在页面中使用scrollTo(x, y)滚动特定数量时,TakeScreenshot方法会给我屏幕截图第一个视口,而不是滚动后到达的视口。 我想知道TakeScreenshot方法是给出OperaWebDriver中第一个视口的屏幕截图还是当前视口的屏幕截图。在chrome中,它拍摄了当前网络驱动程序的屏
问题内容: 我只需要当前视口的屏幕截图,尤其要注意滚动位置。基本上是当前Chrome驱动程序的功能。 从我所阅读的内容看来,这应该是完全可能的,但是由于某些原因,screenshot命令始终努力获取完整的文档截图。实际上,IE驱动程序会拍摄多个视口镜头,然后将它们缝合在一起。 我使用的是Ruby Webdriver,无论如何我都看不到仅截取视口的屏幕截图。可能吗? 问题答案: 在处理WebDriv
我正在用selenium webDrive在我的测试用例中创建屏幕截图,虽然这些截图确实显示了我的网络应用程序中可见的内容,但它不显示浏览器创建的弹出窗口。 我发现在IE中,在某些情况下,我的应用程序会在IE中触发一个JS调试弹出窗口。这当然是一个错误,会破坏我其余的测试,但屏幕截图没有显示错误。我认为这是因为它是IE本机弹出窗口,而不是我的应用程序的一个触发器。 有没有可能在截图中包含这一点?我
我已经在活动中创建了处理程序。这个Hanlder负责在10秒后拍摄屏幕截图。在运行方法中,我使用了虽然(标志==true)和屏幕捕获util标志==false,但这卡住了我的活动。我不能工作。它把屏幕拍摄一遍又一遍的相同的图像,因为动作被卡住了。我如何可以工作与我的屏幕和我正在做的处理程序采取屏幕截图后10秒?而循环卡住了我的应用程序。 它可以拍照,但我无法进行我的活动。
问题内容: 我希望用户在Swift中以编程方式按下按钮后继续运行我的应用并为应用截图。我知道需要截图,但是我不需要整个屏幕的图片。我希望弹出一个矩形(有点像裁剪工具),并且用户可以拖动矩形并调整其大小以仅截取屏幕的特定部分的屏幕截图。我希望矩形经过a 并裁剪Web视图的图片。 问题答案: 标准的快照技术是,将其绘制到图像上下文。在iOS 10及更高版本中,您可以使用: 而且您会这样使用: 在iOS
问题内容: 是否可以使用JavaScript截取网页的屏幕截图,然后将其提交回服务器? 我不太担心浏览器的安全性问题。等,因为实施将针对HTA。但是有可能吗? 问题答案: 我已经通过使用ActiveX控件为HTA完成了此操作。在VB6中构建控件以截取屏幕截图非常容易。我必须使用keybd_event API调用,因为SendKeys无法执行PrintScreen。这是该代码: 这只会使您到达将窗口