我是网络抓取的新手,在访问HTML和CSS代码时遇到了一些问题。
我想在下面的网站上搜索标题:https://www.leaseplan.com/nl-nl/privatelease/onze-autos/4662/
点击检查后,我发现
<h1 class="u-margin-bottom-none u-margin-bottom@tablet" data-e2e-id="carName"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Fiat 500 - Lounge Hybrid </font></font></h1>
我想拿出:菲亚特500休息室混合动力,并把它放进一个excel文件。
我用过:
async function getPageData(url, page) {
await page.goto(url);
const title = await page.$eval(
"h1, id=carName",
(title) => title.textContent
);
然而,我不断得到错误:
(node:6216) UnhandledPromiseRejectionWarning: Error: Evaluation failed: DOMException: Failed to execute 'querySelector' on 'Document': 'h1[class=u-margin-bottom-none u-margin-bottom@tablet] .carName' is not a valid selector.
at __puppeteer_evaluation_script__:1:33
这与";h1,id=carName";,但我不知道该怎么写,我的摄影师会认出并拿出菲亚特500休息室混合
h1没有id
,它是一个数据属性。相反,你可以这样做:
async function getPageData(url, page) {
await page.goto(url);
const title = await page.$eval(
'h1[data-e2e-id="carName"]',
(title) => title.textContent
);
}
有多种选择元素的方法,请查看此处以获取快速参考。