Nightmare JS нажав на случайную ссылку в наборе - PullRequest
0 голосов
/ 03 декабря 2018

Я могу щелкнуть ссылку, используя: nightmare.click("#video-title") Однако, при этом щелкает первый элемент с этим идентификатором.Когда я запускаю 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])
    })

Кошмар дает эту ошибку при нажатии: Error: Failed to execute 'querySelector' on 'Document': '[object Object]' is not a valid selector.

1 Ответ

0 голосов
/ 03 декабря 2018

Что-то вроде этого должно работать:

.evaluate(() => {

     const list = document.querySelectorAll('[id=video-title]')
     return list[Math.floor(Math.random()*list.length)]

 })

В свою очередь, это дает вам случайный элемент из NodeList, полученный по queryselectorAll

...