Firefox 在selenium automation运行期间调整网页大小,以捕获整个页面的屏幕截图

Firefox 在selenium automation运行期间调整网页大小,以捕获整个页面的屏幕截图,firefox,selenium,selenium-rc,robotframework,Firefox,Selenium,Selenium Rc,Robotframework,在selenium automation运行期间如何调整页面大小。 我希望在出现故障时捕获整个页面,而不仅仅是其中可见的一部分。 任何线索都很好 有关预期内容的更多详细信息: 实际页面大小: 预期页面大小: 内置的捕获页面屏幕截图 Selenium2库有一种方法,可以在一个屏幕截图中捕获整个页面。 然而,这在Chrome中不起作用。使用Firefox或PhantomJS进行无头控制测试正常 确保在设置中包含库 变焦 Chrome可能的解决方法可能是调用此命令。 这只适用于Chrome和IE 更多

在selenium automation运行期间如何调整页面大小。 我希望在出现故障时捕获整个页面,而不仅仅是其中可见的一部分。 任何线索都很好

有关预期内容的更多详细信息:

实际页面大小: 预期页面大小:

内置的
捕获页面屏幕截图
Selenium2库有一种方法,可以在一个屏幕截图中捕获整个页面。
然而,这在Chrome中不起作用。使用FirefoxPhantomJS进行无头控制测试正常

确保在设置中包含库

变焦 Chrome可能的解决方法可能是调用此命令。
这只适用于Chrome和IE

更多阅读:


*驱动程序.管理().窗口().最大化()

我的回答将帮助您了解如何以不同大小和不同屏幕位置打开浏览器窗口

将窗口调整为屏幕宽度/高度

driver.set_window_size(300, 500)
将窗口移动到x/y位置

driver.set_window_position(200, 200)
您可以根据项目要求更改屏幕坐标。 正如您在问题中提到的,您希望在应用程序中发生错误后获得屏幕截图。 所以实现这一点的最佳方法是使用try-catch异常


一旦try block在catch中失败,您可以根据需要设置窗口大小并获得屏幕截图。

Selenium 3.0将回到只支持所有浏览器中的“视口”截图的状态。在Selenium 2.0中,我认为只有一种浏览器支持它,我不记得是哪一种。所以,我会放弃这个。。。因为SeleniumLibrary1可能是Selenium项目无法实现这一点的一个很好的原因。。。请查看有关所查找内容的更多详细信息。。使用图像更新..您是否真的试图调整页面内容的大小,还是试图在单个屏幕截图中捕获整个页面?两种解决方案中的任何一种都应该可以。。我只想要页面的全部内容。。收缩,然后拍摄屏幕截图或完整页面截图。好的。因此,如果您使用Robot框架,我建议您使用它,因为它直观且简单,我建议您使用
Selenium2Library
,请参阅下面的答案。对于编写测试,我建议使用升华文本编辑器+机器人框架插件。虽然您的答案可能是正确的,但请花一些时间解释您的代码如何解决问题,并同时格式化答案。此命令只会最大化浏览器窗口。若页面垂直长度较大,则不显示整页。因此,这并不是提问者想要的准确答案。我认为,同样的命令也应该适用于Python。你能试着让我知道吗?这不能解决问题。OP的浏览器已经最大化;这里的问题是页面的内容不适合单个屏幕。因此,解决方案可能是在截图之前“缩小”视图,或者以某种方式让Selenium也捕获页面的不可见部分。@E.Z.
capture page screenshot
捕获整个页面,而不管视口的位置或大小。在否决投票之前你试过了吗?是的,我面临着同样的问题。嗯,恐怕这与实现
捕获页面屏幕截图
关键字的方式不同。SeleniumLibrary(使用Selenium RC)最终会调用。
driver = webdriver.Firefox()
driver.set_window_size(300, 500)
driver.set_window_position(200, 200)