Selenium-保存网站,包括所有图像,css,dom

问题描述 投票:0回答:1

我想使用Firefox或chrome浏览带有硒的页面。加载页面后,我想从页面下载所有图像,css,dom。

我想像在其中找到一样存储每个图像:

chrome -> Tools->Development Tools -> Resources -> Images 

是否可以通过硒访问并保存所有内容?

到目前为止,我仅找到此页面,该页面对我没有任何有趣的提示:http://ldanswers.org/wordpress/zisser/2014/11/24/save-whole-web-page-with-all-resources-in-selenium-webdriver/

java dom selenium save
1个回答
5
投票

我自己找到了解决问题的办法。问题是,当您单击另存为-> STRG + S时,将弹出一个OS窗口,该窗口无法由Selenium管理。我使用AutoIT,xnee,jna或Java Robot等工具了解了许多解决方案。

我不想使用这样的工具。因此,我搜索了能够下载整个页面(包括图像,css,html)的firefox插件。几秒钟后,我找到了Scrapbook

最后,我下载了Addon File scrapbook-1.5.11-fx.xpi,修改了其中的一些值,并将其与硒一起使用。工作非常顺利。

我在/ 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。

© www.soinside.com 2019 - 2024. All rights reserved.