0

免责声明:我不懂 JS,这是我的工作任务。

有人要求我使用 Chrome 控制台从 Google 营销页面中提取一些数据。

我需要抓取的 HTML 代码如下所示:

控制台中的代码

我制作了以下代码,在其中创建了一个字典,然后用来document.Selector()获取数据,但我只从一行中获取它。

var IntegrationDetails = [{}]

IntegrationDetails[0]["Property Name"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Advertiser"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Tracking ID"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Account"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Organisation name"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Integrations with reporting data"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Integrations with Cost Data"] = document.querySelector("JSPath").innerText

IntegrationDetails[0]["Integrations with Remarketing Lists"] = document.querySelector("JSPath").innerText

copy(IntegrationDetails)

我不知道如何遍历 mat-tab 元素中的每一行并将每一行附加到字典中。

4

1 回答 1

0

我发现它有效的解决方案是下面的解决方案。我还需要根据表的长度增加 [i],以免覆盖数据。

var IntegrationDetails = []

for(let i=0;i < document.querySelectorAll('mat-row').length; i++) {
    IntegrationDetails.push( {
        "Property Name":  document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[1].innerText,
        "Advertiser": document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[2].innerText,
        "Tracking ID" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[3].innerText,
        "Account" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[4].innerText,
        "Organisation name" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[5].innerText,
        "Int with report data" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[6].innerText,
        "Int with Cost Data" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[7].innerText,
        "Int with Remarketing Lists" : document.querySelectorAll('mat-row')[i].querySelectorAll("mat-cell")[8].innerText
    })
}

copy(IntegrationDetails)
于 2022-01-17T15:18:40.163 回答