Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
can';t通过chrome扩展上的javascript访问易趣网站上的元素_Javascript_Google Chrome Extension - Fatal编程技术网

can';t通过chrome扩展上的javascript访问易趣网站上的元素

can';t通过chrome扩展上的javascript访问易趣网站上的元素,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我有一个chrome扩展,可以从ebay订单页面检索所有订单, 上个月效果很好,但现在突然无法访问某些元素 让elGridComp=document.getElementsByClassName(“表格网格组件”); 设elOrders=elGridComp[0]。childNodes[2]。childNodes//eOrders具有所有元素(示例中为105) eOrders[0].getAttribute(“类”)//工作 eOrders[2].getAttribute(“类”)//抛出异常

我有一个chrome扩展,可以从ebay订单页面检索所有订单, 上个月效果很好,但现在突然无法访问某些元素

让elGridComp=document.getElementsByClassName(“表格网格组件”); 设elOrders=elGridComp[0]。childNodes[2]。childNodes//eOrders具有所有元素(示例中为105)

eOrders[0].getAttribute(“类”)//工作

eOrders[2].getAttribute(“类”)//抛出异常

例如,eOrders 0,1,3,5将返回类attribure,但2,4和7将抛出异常 未捕获的TypeError:eOrders[i]。getAttribute不是函数。 随附的照片显示了elOrders中的一些首批元素


谢谢

错误消息意味着
eOrders[2]
没有getAttribute函数,如果该节点不是HTML元素而是文本节点(Chrome的devtools如果都是空白,则不会显示此类节点)或注释节点,则可能会发生这种情况

解决方案是使用
子节点
,因为它只返回元素,而不像
子节点
返回所有类型的节点


注意:使用devtools设置断点并检查数据的实际内容。您甚至可以选择表达式的一部分并将鼠标悬停以查看其值,例如,如果您选择
elOrders[i]
,您将看到其属性。

谢谢您的回答,问题是易趣在订单之间添加了空元素,不明白他们为什么会这样做,buy once我创建了一个删除所有空元素(长度=0)的函数,eOrder和以前一样工作。你能解释一下我如何调试它吗?这是一个chrome扩展,有什么工具可以使用吗?调试会为我节省很多时间,哈哈。谢谢这是内置的浏览器开发工具。如果需要,请看医生。