中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用harexporttrigger導出瀏覽器HAR數據

發布時間:2020-06-22 23:16:52 來源:網絡 閱讀:939 作者:mybabe0312 欄目:軟件技術

1,環境

1)Firefox 45.0
下載地址:http://ftp.mozilla.org/pub/firefox/releases

2)harexporttrigger-0.5.0-beta.10.xpi
下載地址:http://www.softwareishard.com/blog/har-export-trigger/
https://github.com/firebug/har-export-trigger/releases

3)selenium-java-2.53.1.jar

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.1</version> 
</dependency>

2,實現代碼


public static String BROWSER_PATH = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";

public static String HAR_EXPORTTRIGGER_PATH = "D:\\firefoxxpi\\harexporttrigger-0.5.0-beta.10.xpi" ;

private final static String HARDIR = "d:\\firefoxharlog";

public void init() {
        System.setProperty("webdriver.firefox.bin", BROWSER_PATH);  
}

private FirefoxProfile  buildNetmonitorProfile() throws IOException {
        FirefoxProfile profile = new FirefoxProfile();  

        // Load extensions         
        File harExport = new File(HAR_EXPORTTRIGGER_PATH); //adjust path as needed
        profile.addExtension(harExport);

        // Enable the automation without having a new HAR file created for every loaded page.
        profile.setPreference("extensions.netmonitor.har.enableAutomation", true);
        // Set to a token that is consequently passed into all HAR API calls to verify the user.
        profile.setPreference("extensions.netmonitor.har.contentAPIToken", "test");
        // Set if you want to have the HAR object available without the developer toolbox being open.
        profile.setPreference("extensions.netmonitor.har.autoConnect", true);

        // Enable netmonitor
        profile.setPreference("devtools.netmonitor.enabled", true);
        // If set to true the final HAR file is zipped. This might represents great disk-space optimization especially if HTTP response bodies are included.
        profile.setPreference("devtools.netmonitor.har.compress", false);
        // Default name of the target HAR file. The default file name supports formatters
        profile.setPreference("devtools.netmonitor.har.defaultFileName", "Autoexport_%y%m%d_%H%M%S");
        // Default log directory for generate HAR files. If empty all automatically generated HAR files are stored in <FF-profile>/har/logs
        profile.setPreference("devtools.netmonitor.har.defaultLogDir", HARDIR);
        // If true, a new HAR file is created for every loaded page automatically.
        profile.setPreference("devtools.netmonitor.har.enableAutoExportToFile", true);
        // The result HAR file is created even if there are no HTTP requests.
        profile.setPreference("devtools.netmonitor.har.forceExport", true);   
        // If set to true, HTTP response bodies are also included in the HAR file (can produce significantly bigger amount of data).
        profile.setPreference("devtools.netmonitor.har.includeResponseBodies", false);
        // If set to true the export format is HARP (support for JSONP syntax that is easily transferable cross domains)
        profile.setPreference("devtools.netmonitor.har.jsonp", false);
        // Default name of JSONP callback (used for HARP format)
        profile.setPreference("devtools.netmonitor.har.jsonpCallback", false);
        // Amount of time [ms] the auto-exporter should wait after the last finished request before exporting the HAR file.
        profile.setPreference("devtools.netmonitor.har.pageLoadedTimeout", "2500");

        //to prevent Firefox >= 65 from automatically updating whilst under automation.
        //profile.setPreference("app.update.disabledForTesting", "true");
        //profile.setPreference("devtools.console.stdout.content", "true");

        return profile ;
}

public void resovle(String url) throws Exception {
        WebDriver driver = null;
        try {
            FirefoxProfile profile = buildNetmonitorProfile() ;

            driver = new FirefoxDriver(profile);

            //存放Har數據的路徑(目錄)
            final File harDir = new File(HARDIR);
            //獲取當前的文件數[用于下面判斷文件是否生成]
            final int numFiles = harDir.listFiles().length;

            //訪問資源
            driver.get(url);

            // 等待創建好HAR文件
            for (int c=0; c<30; c++) {
                if (harDir.listFiles().length > numFiles) {
                    break;
                }
                Thread.sleep(1000L);
            }
        }
        catch (Exception exc) {
            System.err.println("error --> " + exc);
        }
        if (driver != null) {
            driver.quit();
        }
    }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌江| 玉环县| 通渭县| 丹阳市| 台山市| 陈巴尔虎旗| 玉门市| 沈阳市| 建平县| 肥西县| 衢州市| 乐安县| 镶黄旗| 特克斯县| 黄山市| 资兴市| 息烽县| 长沙县| 政和县| 花莲县| 汝阳县| 岫岩| 廉江市| 新闻| 屯昌县| 顺昌县| 柯坪县| 肥城市| 资阳市| 长武县| 房产| 安国市| 全椒县| 团风县| 台南县| 闵行区| 新宁县| 冷水江市| 美姑县| 长白| 大姚县|