首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式从网络选项卡捕获查询字符串参数

如何以编程方式从网络选项卡捕获查询字符串参数
EN

Stack Overflow用户
提问于 2017-08-12 11:19:04
回答 3查看 9.1K关注 0票数 9

我正在尝试使用javascript捕获查询字符串参数,以便进行分析。我进行了一些搜索,发现可以使用BMP来实现它,但是我找不到足够的示例来实现它。谁能给我指明正确的方向。

编辑1: --我使用了下面的代码,使用browsermob-proxy获取har文件,但在运行它时得到了ERROR: browsermob-proxy returned error。我和它一起用硒。

代码语言:javascript
复制
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#");
            }
        })
    }

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-25 17:25:06

我终于能够使用铬控制台上可用的s对象来完成这个任务了。带有编码查询字符串的url在chrome控制台中可作为s.rb对象使用。我只是对其进行了解码,并提取了查询字符串参数。

票数 1
EN

Stack Overflow用户

发布于 2017-08-20 18:58:27

所以,既然我不太确定你的范围,我会给你一些想法:

1.修正浏览器-代理

您应该更改浏览器代理的主机和代理。将主机更改为127.0.0.1,并将端口更改为任意随机数(4444 its ok)。然后,通过更改浏览器设置,确保浏览器在该主机和代理中运行。

2.使用普通javascript

2.1获取当前页面查询字符串

可以使用location.search获取查询字符串。如果使用带selenium的BDD框架,则可以执行javascript代码并检索结果。您应该始终向代码中添加一个return,以便在BDD测试中接收响应。

2.2使用性能API

您可以访问性能api中的所有网络信息。如果需要获取当前页面url,可以使用以下代码:

代码语言:javascript
复制
performance.getEntriesByType("navigation")

这将返回所有当前导航事件和信息。

如果您想获得页面调用的一些信息,您可以使用以下方法访问它:

代码语言:javascript
复制
performance.getEntriesByType("resource")

这将返回所有的电话由您的网站。你必须循环它,搜索你想要找到的资源。

在所有方法中,都无法获得查询字符串的值和键,就像在“网络”选项卡中一样。您必须用一个函数手动分隔它,您可以使用代码在此提供来获得键的值。

票数 5
EN

Stack Overflow用户

发布于 2017-08-12 11:46:27

我的建议是为Google创建个人扩展,并开发一个扩展,您可以访问控制台中默认情况下无法访问的其他apis。例如,为了检查“网络”选项卡,您将拥有此对象:

chrome.devtools.network

在这里,您可能会发现两个有用的链接:

https://developer.chrome.com/extensions/devtools

网络

我希望它能帮上忙

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45649634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档