gpt4 book ai didi

javascript - JS 脚本返回未定义而不是预期的字符串

转载 作者:行者123 更新时间:2023-12-03 04:44:49 26 4
gpt4 key购买 nike

我基本上一直在制作一个程序,该程序将浏览网站并抓取某些图像。这并不太难,只是有点复杂。我运行下面的 JS 代码来单击正确的页面,检查画廊元素是否每 100 毫秒加载一次,然后最终将整个对象记录为字符串。大多数工作,但是当获取 console.log(...); 时,我得到 undefined 作为主要返回,然后我得到字符串作为辅助。这不会发生,因为我的程序只能拦截主要记录的值,而不能拦截任何辅助值。下面是我的代码和示例输出。谢谢!

代码:

document.getElementById('tlcItem_47871').click();
var checkExist = setInterval(function() {
if ($('.pgFooterThumblist').length) {
clearInterval(checkExist);
var ele = document.getElementsByClassName('pgFooterThumb');
console.log(JSON.stringify(ele));
}
}, 100);

Ex 输出:

/*Primary Output(First)*/<- undefined
/*Secondary Output(Second)*/<- {"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{}}

编辑:在我的工作流程中,我可以在 C++ 中设置 JS 脚本,然后我可以在加载的网页中运行 javascript。唯一的问题是 runJavascript() 函数将获取第一个输出值并使用它。没有办法解决这个问题,所以我需要尽快输出字符串。

最佳答案

这不是正确答案。我只留下它作为上下文。

假设所有需要的是避免控制台记录未定义的值,这就足够了:

document.getElementById('tlcItem_47871').click();
var checkExist = setInterval(function() {
if ($('.pgFooterThumblist').length) {
clearInterval(checkExist);
var ele = document.getElementsByClassName('pgFooterThumb');
var loggedOutput = JSON.stringify(ele);
if (loggedOutput) {
console.log(loggedOutput);
}
}
}, 100);

这是假设您的 C 代码以某种方式拦截了此控制台日志。一般来说,在 JavaScript 中,如果您需要函数中的值,则需要使用 return 语句将其传递回调用者,但似乎您可能有一个独特的情况,在这种情况下不需要这样做。

关于javascript - JS 脚本返回未定义而不是预期的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42917954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com