如何使用 k6/loadimpact 解析 img 标签?

Posted

技术标签:

【中文标题】如何使用 k6/loadimpact 解析 img 标签?【英文标题】:How can i parse img tags with k6/loadimpact? 【发布时间】:2020-12-02 10:44:47 【问题描述】:

我现在正在为我的工作使用 k6 负载测试,但遇到了问题。我如何解析来自网站的链接? (已经使用官方的 href 链接示例,但不明白如何改变它以处理图像)

例如,我正在尝试使用此站点 - top-tuning.ru(这是我工作任务中的示例之一)。我需要脚本来解析 img 链接和 href。我已经在尝试官方的 exaples 并且可以解析 href、head 标题、langAttr,但是我无法对 img 做同样的事情。这种结构效果很好:

const res = http.get("top-tuning.ru/"); 
const doc = parsehtml(res); 
const pageTitle = doc.find('head title').text(); 
const langAttr = doc.find('html').attr('lang');
doc.find("body").toArray().forEach(function (item) 
console.log(item.attr("href")););

【问题讨论】:

我已经在社区论坛回答了你。您需要告诉我们您已经尝试过什么以及哪些没有奏效,以便更好地帮助您:)。这是一个相当接近的问题的答案,可能会对您有所帮助***.com/a/61075801/5427244 我不明白如何使用您的脚本来回答我的网站以查找 img 链接 我链接的脚本比图像要多得多。而且它不是我的。您至少可以用您尝试过的内容和您正在尝试的页面更新您的问题(它可能不是您的真实页面,只是一些公共页面),以便我们可以更好地诊断究竟是什么不起作用?此外,您用于链接的内容也可能会有所帮助 但是每次尝试在另一个代码中使用图像都会给我 作为结果,或者 和 . 【参考方案1】:

使用以下脚本,我可以获取您的图像:

import http from "k6/http";
import  parseHTML  from "k6/html";

export default function() 
    const res = http.get("https://top-tuning.ru/"); 
    const doc = parseHTML(res.body); 
    const pageTitle = doc.find('head title').text(); 
    const langAttr = doc.find('html').attr('lang');
    doc.find("img").toArray().forEach(function (idx) 
        console.log(idx.attr("src"));
    );

我需要更改的导入部分是:

    您需要协议(在本例中为 https)来发出请求 您需要提供正文而不是响应对象来解析HTML

在那之后 - 一切正常:)

希望对你有帮助,你也可以使用console.logObject.keys(object)JSON.stringify(object)当你不知道发生了什么的时候

【讨论】:

以上是关于如何使用 k6/loadimpact 解析 img 标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何解析<IMG SRC =";值QUOT;从这个XML使用DOM

煎蛋网爬虫之JS逆向解析img路径

未找到模块:无法在“”中解析“../../assets/img-3.jpg”

Blog 使用Jsoup解析出html中的img元素

如何使用 PHP 解析网页内的图像?

vue中,图片<img src="path"/>如何加载绝对路径的图片?例如:D:/photo/fileName