使用javascript模拟onclick以获取动态img src

使用javascript模拟onclick以获取动态img src,javascript,html,Javascript,Html,我正在尝试解析来自网站的数据 var inputs = document.getElementsByClassName('parentClass'); for (var i = 0; i < inputs.length; i++) { inputs[i].click(); var someimage = document.getElementsByClassName('class-img'); var myimg = someimage[0].getElements

我正在尝试解析来自网站的数据

var inputs = document.getElementsByClassName('parentClass');
for (var i = 0; i < inputs.length; i++) {
    inputs[i].click();
    var someimage = document.getElementsByClassName('class-img');
    var myimg = someimage[0].getElementsByTagName('img')[0];
    var mysrc = myimg.src;
    console.log(mysrc);
}
var inputs=document.getElementsByClassName('parentClass');
对于(变量i=0;i
网站有这种行为,每当你点击div,它就会触发onclick,结果会显示不同的图像。我写这个javascript是为了让所有的图像从上到下有序排列。这就是为什么我要模拟点击。问题是它不知何故没有抓住新的一环,而是抓住了最后一环。 共有19个图像,它正在打印最后一个图像src 19次。有线索吗

最后,我不得不遍历页面源代码并手动获取onclick参数,以便使用AJAX发送post请求

var inputs = document.getElementsByClassName('parentClass');
    for (var i = 0; i < inputs.length; i++) {
        var str = (inputs[i].getAttribute('onclick'));
        var params = str.split("nameOfFunction(")[1].split(',');
        params[params.length - 1] = params[params.length - 1].replace(');');
        $.ajax({
            method: "POST",
            url: "request.php",
            data: {
                id: parseInt(params[0]),
                name: params[1],
                belongsys: params[2],
                type: params[3],
                rep: params[4],
                set: params[5],
                mass: ' kg'
            }
        }).done(function(result){
            $(".class-img").html(result).show();
            var someimage = document.getElementsByClassName('class-img');
            var myimg = someimage[0].getElementsByTagName('img')[0];
            var mysrc = myimg.src;
            console.log(mysrc)
            array.push(mysrc);
        });
    }
var inputs=document.getElementsByClassName('parentClass');
对于(变量i=0;i
因为您很可能不让系统处理单击。这不是同时发生的是的,我相信是的。似乎在更改发生之前,控制台的注销是同步的。我可以更改代码吗?我们确定html在获取img之前已经更改了吗?您可以直接调用onclick处理程序,或者挂接到图像的事件中,以显示加载图像的时间(可能是
var elem=document.getElementById(“linkid”);如果(typeof elem.onclick==“function”){elem.onclick.apply(elem);}
这是来自另一个线程的答案,但在替换它之后,它仍然表现为