PhantomJS单击没有和ID的li

时间:2019-06-20 14:44:52

标签: javascript phantomjs

具有在其他位置填充的html。它将带有各种li标签,其中包含文本,但没有id。我正在寻找一种方法来搜索页面中包含单词的li标记,然后使用PhantomJS单击它。

从本质上讲,可能有一个带“紫色(25)”的li。该数字可能在每次重新加载时都会更改,因此我想在dom中搜索包含“紫色”的li,然后单击它。这可能吗?

1 个答案:

答案 0 :(得分:0)

因此,您想选择一个包含单词Purple的元素。没有包含CSS的文本选择器,因此您需要抓取所有lis,然后找到/过滤掉它以找到紫色的。

如果只有一个:

$connection = new AMQPStreamConnection('localhostWithATypo', 5444, 'guest', 'guest'); //wrong hostname and wrong port number

如果有多个

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
                     )