如何从邮递员的HTML响应中提取href值

问题描述

我一直在试图找出如何从html响应的href属性提取值方法,但是没有任何运气。

我有以下回应:

<body id="bodytag" class="taskTab">
    <script></script>
    <div id="downloads">
        <div class="files"><a
            href="/download/b521086a-965e-44f9-a042/file.pdf/files">Files.pdf</a>
        </div>
    </div>
</body>

我已经收集到可以使用cheerio来加载html并潜在地获取值的信息,但是我唯一设法获得的是文本Files.pdf。我需要的是href属性中的路径,以便可以将其存储在变量中以供后续请求使用。

这只是我尝试过的一个例子:

const $ = cheerio.load(pm.response.text());
console.log($('.files','#downloads').text());

我也尝试使用xpath时没有任何运气。任何帮助将不胜感激。

解决方法

尝试

const $ = cheerio.load(pm.response); 
console.log($('.files').attr('href'));

这应该返回您元素的href。文档here

,

我很亲密:

const $ = cheerio.load(pm.response.text());
var href = $('.files a').attr('href');
pm.environment.set('downloadLink',href);