无法在网页上的类元素中抓取文字 - Chrome扩展程序

时间:2016-06-12 10:07:51

标签: javascript google-chrome-extension

我想在以下html中获取名为“company-name”的类元素中的文本:

<h3 class="company-name"><a class="link" data-send-tracking="true" href="/sales/accounts/insights?companyId=3025784">Opera Mediaworks</a></h3>

所以在这种情况下,我想要抓住的是“Opera Mediaworks”。

但是,我一直收到以下错误:

extensions::uncaught_exception_handler:8 Error in response to tabs.query: TypeError: Cannot read property 'textContent' of null
    at Object.callback (chrome-extension://ecphajfcjjcikhaiohndnkfcjhfganef/grabcomanddefinecompet.js:12:68)
    at HTMLButtonElement.abc (chrome-extension://ecphajfcjjcikhaiohndnkfcjhfganef/grabcomanddefinecompet.js:8:14)

此功能的代码如下:

function grabcom() {

    var companyname = document.getElementsByClassName("company-name").innerHTML;
    console.log(companyname);

}

grabcom();

我已经尝试了以下所有方法,但仍然无法正常工作:

    var companyname = document.getElementsByClassName("company-name")[0].innerHTML
    var companyname = document.getElementsByClassName("company-name")[0]
    var companyname = document.getElementsByClassName("company-name")[0].textContent

缺少什么?

感谢。

1 个答案:

答案 0 :(得分:1)

您可能想要获取<a>标记的内部HTML,因为您只需要Opera MediaWorks&#39;而不是<h3>标签内的所有内容。

所以这应该得到你想要的东西:

var companyName = document.getElementsByClassName('link')[0].innerHTML