![](/img/trans.png)
[英]How to capture a string from the parameters of a url using regex expressions in javascript
[英]How to capture query string parameters from network tab programmatically
我正在嘗試使用javascript捕獲查詢字符串參數以進行分析。 我做了一些搜索,發現BMP可以用來做,但我找不到足夠的例子來實現。 任何人都可以指出我正確的方向。
編輯1:我使用下面的代碼使用browsermob-proxy
來獲取har文件,但是我得到ERROR: browsermob-proxy returned error
當我運行它時, ERROR: browsermob-proxy returned error
。 我用硒。
getHarFile() {
const proxy = browsermb.Proxy;
const pr = new proxy({host:"0.0.0.0",port:4444});
pr.doHAR("http://www.cnn.com/", (err,data) => {
if (err) {
logger.debug('ERROR: ' + err);
} else {
fs.writeFileSync('ua.com.har', data, 'utf8');
logger.debug("#HAR CREATED#");
}
})
}
我的建議是為Google Chrome創建個人擴展程序,並開發一個擴展程序,您可以訪問控制台中默認情況下不可用的其他api。 例如,您將擁有此對象以檢查網絡選項卡:
chrome.devtools.network
這里有兩個有用的鏈接:
https://developer.chrome.com/extensions/devtools
https://developer.chrome.com/extensions/devtools_network
我希望它有所幫助
因為我不太確定你的范圍,我會給你一些想法:
您應該更改browsermob-proxy的主機和代理。 將主機更改為127.0.0.1並使用任意隨機數更改端口(4444確定)。 然后,通過更改瀏覽器設置,確保您的瀏覽器在該主機和代理中運行。
2.1獲取當前頁面查詢字符串
您可以使用location.search
獲取查詢字符串。 如果您正在使用一些帶有selenium的BDD框架,則可以執行javascript代碼並檢索結果。 您應該始終在代碼中添加一個return
,以便在BDD測試中收到響應。
2.2使用Performance API
您可以訪問性能API中的所有網絡信息。 如果您需要獲取當前頁面URL,可以使用以下代碼:
performance.getEntriesByType("navigation")
這將返回所有當前導航事件和信息。
如果您想獲得該頁面所做的調用的一些信息,您可以使用以下方式訪問它:
performance.getEntriesByType("resource")
這將返回您網站的所有通話。 您必須循環搜索要查找的資源。
在所有方面,都無法像在網絡選項卡中那樣獲取查詢字符串的值和鍵。 您必須使用函數手動分隔它,您可以使用此處提供的代碼來獲取密鑰的值。
我終於能夠使用chrome控制台上提供的s
對象來完成它。 帶有編碼查詢字符串的url在chrome控制台中可用作s.rb
對象。 我剛解碼它並提取了查詢字符串參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.