我是木偶新手。你能告诉我,在我的思考过程和代码中,我哪里出错了吗?我正在努力获取关于这个产品的评论:
https://www.newegg.com/gigabyte-geforce-rtx-2060-gv-n2060oc-6gd/p/N82E16814932115
单击从检索到的评论选项卡时,将加载所有评论
document.querySelectorAll(".tab-nav")[4]
此代码后的评论为null:
using (var browser = await Puppeteer.LaunchAsync(options))
{
using (var page = await browser.NewPageAsync().ConfigureAwait(false))
{
await page.GoToAsync("https://www.newegg.com/gigabyte-geforce-rtx-2060-gv-n2060oc-6gd/p/N82E16814932115");
var clickReviews = "document.querySelectorAll('.tab-nav')[4].click();";
var reviews = "Array.from(document.querySelectorAll('.comments-content'));";
await page.EvaluateExpressionAsync(clickReviews);
var reviews = await page.EvaluateExpressionAsync(reviews);
Console.WriteLine(reviews);发布于 2021-04-05 19:56:38
EvaluateExpressionAsync不会返回DOM元素。您应该构建一个序列化的输出。例如,包含审阅文本的string[]。
var reviews = "Array.from(document.querySelectorAll('.comments-content')).map(r => r.innerText);";
var reviews = await page.EvaluateExpressionAsync<string[]>(reviews);
Console.WriteLine(reviews);https://stackoverflow.com/questions/66946977
复制相似问题