2016-06-12 67 views
0

我想抓住下面的HTML命名爲「公司名稱」之類的元素中的文本:不能搶類元素文本的網頁 - Chrome擴展

<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

您可能想要抓取<a>標記的內部HTML,因爲您只需要'Opera MediaWorks'而不需要<h3>標記中的所有內容。

因此,這應該得到你想要的東西:

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

+0

完美的作品!謝謝! – adrienk