如何获得标签在html页面,如果我知道什么文本标签包含。 例如:
<a ...>SearchingText</a>
如何获得标签在html页面,如果我知道什么文本标签包含。 例如:
<a ...>SearchingText</a>
当前回答
你可以这样做,不确定这是否被推荐,但对我来说很有效。
[... document.querySelectorAll('a')].filter(el => el.textContent.includes('sometext'));
其他回答
在脚本中使用名为getElementInnerText的属性,它将获取该标记的内部内容。
document.getElementInnerText('a');
你必须徒手穿越。
var aTags = document.getElementsByTagName("a");
var searchText = "SearchingText";
var found;
for (var i = 0; i < aTags.length; i++) {
if (aTags[i].textContent == searchText) {
found = aTags[i];
break;
}
}
// Use `found`.
虽然有可能读懂里面的文字,但我认为你走错了方向。内部字符串是动态生成的吗?如果是这样,您可以在文本进入时为标记提供一个类或更好的ID。如果它是静态的,那就更容易了。
您可以使用xpath来实现这一点
var xpath = "//a[text()='SearchingText']";
var matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
你也可以使用xpath搜索包含文本的元素:
var xpath = "//a[contains(text(),'Searching')]";
你可以这样做,不确定这是否被推荐,但对我来说很有效。
[... document.querySelectorAll('a')].filter(el => el.textContent.includes('sometext'));