我试图刮这个网站,他们的网站布局使用相同的类名的信息,我需要的。我尝试使用document.querySelectorAll(),但它返回未定义的。
let shoeHtml = await page.evaluate( () => document.querySelectorAll('.form-section-right'))
如果我尝试使用let shoeHtml = await page.evaluate( () => document.querySelectorAll('.form-section-right')[1].innerHTML),它会返回一个字符串,但我无法遍历它并获取所需的信息
这是html代码。https://pastebin.com/dHbbu5EG
我想要获取的信息是a标记。我也想点击它们。
发布于 2020-03-07 04:51:35
evaluate只返回可序列化的数据,页内对象是不可序列化的。您需要使用evaluateHandle或page.$$,后者相当于木偶剧执行上下文中的querySelectorAll。
let shoeHtml = await page.$$('.form-section-right');在木偶剧上下文中访问元素的属性:
const innerHTML = await page.evaluate(el => el.innerHTML, shoeHtml[1]);或
const innerHTML = await (await shoeHtml[1].getProperty('innerHTML')).jsonValue(); https://stackoverflow.com/questions/60570941
复制相似问题