如何使用queryselector搜索元素,并包含

问题描述 投票:0回答:1

我想直接搜索一些文本,是否可以使用querySelector?

Dom :

<div class="div1">
    <span class="text">
        <span> text to search </span>
    </span>
</div>

我试过下面的方法,没有成功。

JS代码:=FAIL document.querySelector('div[contains("text to")]') = FAIL

我知道简单的方法,比如。document.querySelector('span.text > span') 我的例子是保持简单,我知道。我正在寻找一个类似硒的解决方案。selenium driver.find_element_by_link_text 我想独立搜索一个元素,而不依赖类或id,有什么想法吗?

javascript contains queryselector
1个回答
0
投票

这是不可能的 querySelector 直接使用。你必须先获取所有的跨度,然后遍历它们,看看哪一个有你想要的文本。比如说,你必须先获取所有的跨度,然后迭代它们,看哪一个跨度有你想要的文字。

var results = []; 
document.querySelector("span").forEach(elem => {
    if (elem.textContent.includes("text to")) {
        results.push(elem);
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.