如何在 TripAdvisor 中使用 Puppeteer.js (node.js) 获取动态 Html 标签的 innerText?
How can I get the innerText of Dynamic Html tags using Puppeteer.js (node.js) in TripAdvisor?
如何使用循环或 Puppeteer 函数 https://www.tripadvisor.com/Restaurant_Review-g294308-d3937445-Reviews-Maki-Quito_Pichincha_Province.html 使用 innerText
属性 获取此页面中的所有 10 条评论?
我想出的唯一解决方案是获取整个评论容器的 outerHTML,然后尝试子字符串获取所有评论,但这不是最优的,我认为它更困难的方法。也许我在 Puppeteer 中找不到更简单的解决方案?
我这样做是出于教育目的。评论在 class="partial_entry"
中,我想获取动态 Html 标签的 innerText(我想要全部 10 个),就像您在此处看到的那样:
如果我在哪里打开包含 <div class="review-container" data-reviewid="606551292" data-collapsed="true" data-deferred="false"><!--trkN:3-->
的 div,我会得到另一个 id="review_582693262"
。言归正传,如果我到达 class="partial_entry"
的 <div>
,这就是我的评论所在的位置。我已经尝试了一些东西,但我得到了空值,因为找不到它,因为每个评论的父 <div>
都有一个唯一的 ID,比如 id="review_xxxxxxxxx"
.
这有点困难,因为评论 ID 是 autogenerated
就像 id="review_xxxxxxxxx"
并且不能通过循环复制 CSS 路径进行迭代,因为我没有静态父项。
为什么不只是 select 那些具有 partial_entry
class 的元素?这有效:
let comments = await page.evaluate(() =>
[...document.querySelectorAll(".partial_entry")].map(item => item.textContent)
);
如何使用循环或 Puppeteer 函数 https://www.tripadvisor.com/Restaurant_Review-g294308-d3937445-Reviews-Maki-Quito_Pichincha_Province.html 使用 innerText
属性 获取此页面中的所有 10 条评论?
我想出的唯一解决方案是获取整个评论容器的 outerHTML,然后尝试子字符串获取所有评论,但这不是最优的,我认为它更困难的方法。也许我在 Puppeteer 中找不到更简单的解决方案?
我这样做是出于教育目的。评论在 class="partial_entry"
中,我想获取动态 Html 标签的 innerText(我想要全部 10 个),就像您在此处看到的那样:
如果我在哪里打开包含 <div class="review-container" data-reviewid="606551292" data-collapsed="true" data-deferred="false"><!--trkN:3-->
的 div,我会得到另一个 id="review_582693262"
。言归正传,如果我到达 class="partial_entry"
的 <div>
,这就是我的评论所在的位置。我已经尝试了一些东西,但我得到了空值,因为找不到它,因为每个评论的父 <div>
都有一个唯一的 ID,比如 id="review_xxxxxxxxx"
.
这有点困难,因为评论 ID 是 autogenerated
就像 id="review_xxxxxxxxx"
并且不能通过循环复制 CSS 路径进行迭代,因为我没有静态父项。
为什么不只是 select 那些具有 partial_entry
class 的元素?这有效:
let comments = await page.evaluate(() =>
[...document.querySelectorAll(".partial_entry")].map(item => item.textContent)
);