如何将整个滚动<div>捕获到图像</div>中

时间:2010-11-10 08:53:39

标签: java selenium

我目前正在使用“Selenium”来开发Java中的web自动化脚本。我试图找到一种方法将整个滚动DIV(html)捕获到图像中。任何快速解决方案??

示例:http://i.stack.imgur.com/AZduC.png

3 个答案:

答案 0 :(得分:0)

当您说想要内容时,您的意思是HTML还是仅仅是屏幕上的文字?如果是文本,您可以使用像selenium.getText(//div[@id='theDiv'])这样的XPATH。如果是HTML,您可以将页面上的JavaScript评估为innerHTML,如下所示:

selenium.getEval("this.browserbot.getCurrentWindow().document.getElementById('theDiv').innerHTML")

答案 1 :(得分:0)

您可以使用Selenium的captureEntirePageScreenshot(String imageFileURLToWrite)获取整个页面的屏幕截图。

原则上应该可以对图像进行后处理以仅提取DIV。您需要计算出DIV的确切像素范围,这可能需要使用getEval()在客户端上运行一些JavaScript。

答案 2 :(得分:0)

非常简单。

  1. 您从浏览器窗口中截取屏幕截图

  2. 您获取Div的位置X和Y

  3. 你取Div的宽度:宽度和长度

  4. 使用相同尺寸创建位图,并使用步骤1中截取的屏幕截图中的2和3信息复制子图像。

  5. 如果你想我可以给你C#代码。但它并不那么难,我相信你可以自己编写代码。