2012-10-30 19 views
1

我使用硒webdriver进行自动化测试。我开发了一个导航到许多图像的页面的测试。我想保存由网页浏览器下载的图像数据。我只能调用相同的URL地址,但存在问题,因为图像是动态生成的。目标是保存网页中显示的图像数据,而无需其他http请求。Selenium WebDriver和加载的图像

你可以帮我或给我任何建议。

谢谢

+0

你能否通过保存图像数据来评论你的意思?此外,示例页面的HTML代码片段将有所帮助。 –

+0

是否要保存在该网页上显示的图像? –

+0

是的,我想要保存显示在页面上的图像,而不需要其他http请求。 – Jupin

回答

0

您应该考虑创建一个位于Selenium和远程服务器之间的自定义代理。这样你就可以截取你喜欢的任何内容并将其保存到磁盘中。

您正在使用哪种绑定?对于Java,设置代理服务器是相当直接的 - http://seleniumhq.org/docs/04_webdriver_advanced.jsp#using-a-proxy

绝望的选项:

  • 第二痛苦最小的方法是用硒快照整个页面。一旦你有了,你可以剪出你关心的图像。非常脆弱和非常hacky。
  • 你也可以用JavaScript攻击页面。 AFAIK,这是不可能的JS刮图像位。所以相反,你必须在img网址中使用AJAX,然后手动设置IMG内容。但是,这实际上只是构建代理的一种非常尴尬的方式。