PhantomJS Нажмите на кнопку без и идентификатор - PullRequest
0 голосов
/ 20 июня 2019

Есть HTML, который заполняется в другом месте.В нем будут различные теги li с текстом, но без идентификаторов.Я ищу способ найти на странице тег li, содержащий слово, и щелкнуть по нему с помощью PhantomJS.

По сути, может быть li с «Purple (25)».Это число может меняться при каждой перезагрузке, поэтому я хочу найти в домене ли, содержащий «фиолетовый», а затем щелкнуть по нему.Это возможно?

1 Ответ

0 голосов
/ 20 июня 2019

Итак, вы хотите выбрать элемент, который содержит слово фиолетовый.Селектор текста не содержит CSS, поэтому вам нужно будет взять все списки, а затем найти / отфильтровать их, чтобы найти фиолетовые.

Если есть только один:

const purpleElem = Array.from(document.querySelectorAll("li")) // find all the lis
                     .find(li =>   // locate the element that has the match
                       li.textContent.contains('Purple') // see if it has purple
                     )

Если их несколько

const purpleElems = Array.from(document.querySelectorAll("li")) // find all the lis
                     .filter(li =>   // filter the list of lis
                       li.textContent.contains('Purple') // see if it has purple
                     )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...