我可以使用以下方法单击链接:
nightmare.click("#video-title")
但是,这将单击具有该ID的第一个元素。
当我跑步
document.querySelectorAll('[id=video-title]')
在Youtube搜寻中,我得到约85个结果。有没有一种方法可以使用Nightmare JS单击随机对象?在evaluate
通话中返回该列表对我不起作用
.evaluate(() => {
return Array.from(document.querySelectorAll('[id=video-title]'))
})
.then(videoLinks => {
nightmare.click(videoLinks[0])
})
梦ight在点击时显示以下错误:
Error: Failed to execute 'querySelector' on 'Document': '[object Object]' is not a valid selector.
答案 0 :(得分:0)
类似的事情应该起作用:
.evaluate(() => {
const list = document.querySelectorAll('[id=video-title]')
return list[Math.floor(Math.random()*list.length)]
})
作为回报,它为您提供了NodeList中由queryselectorAll获取的随机元素