我想使用firefox或chrome访问包含selenium的页面。当页面加载时,我想从页面下载所有图像,css,dom。 我希望存储每个图像,就像我在chrome中找到它们一样 - >工具 - >开发工具 - >资源 - >图片。 是否可以通过硒获取并保存所有内容?
到目前为止,我只找到了这个页面,对我没有任何有趣的提示: http://ldanswers.org/wordpress/zisser/2014/11/24/save-whole-web-page-with-all-resources-in-selenium-webdriver/
答案 0 :(得分:5)
我自己找到了解决问题的方法。问题是当您点击保存页面为 - > STRG + S弹出一个操作系统窗口,无法由Selenium管理。我使用AutoIT,xnee,jna或Java Robot等工具阅读了许多可能的解决方案。
我不想使用这样的工具。所以我搜索了一个能够下载整个页面的firefox插件(包括图像,css,html)。几秒钟后,我找到了Scrapbook。
最后我下载了Addon File剪贴簿-1.5.11-fx.xpi,修改了一些值并将其与selenium一起使用。这很有效。
我在 /defaults/preferences/scrapbook-prefs.js 更改的值
pref("scrapbook.data.default", false);
pref("scrapbook.data.path", "/Path/to/store/webpage");
pref("scrapbook.key.save", "D");
此配置告诉剪贴簿将网页保存在定义的路径中,并且保存页面的快捷方式为 STRG + SHIFT + D 。
现在您只需要将插件添加到firefox配置文件,调用网站并将快捷方式发送到浏览器。
FirefoxProfile oProfile = new FirefoxProfile();
File extension = new File("scrapbook-1.5.11-fx.xpi");
try {
oProfile.addExtension(extension);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebDriver driver = new FirefoxDriver(oProfile);
driver.get("https://google.com");
new Actions(driver).sendKeys(Keys.chord(Keys.CONTROL,Keys.SHIFT, "D")).perform();
我希望这有助于某人!
编辑:如果您希望剪贴簿还为每个默认值保存JavaScript,则必须更改插件中的文件saver.js并将值“script”:false设置为true。