繁体   English   中英

如何从带有 javascript 的网站单击按钮并通过 xpath 和该元素包含的特定文本找到该元素?

[英]How to click a button from a website with javascript and find that element through xpath and a specific text that the element contains?

我知道在 selenium 中可以通过元素包含的文本找到特定元素。 我有一个示例代码:

the_element = browser.find_element_by_xpath("//span[contains(.,TEXT)]")

现在是否可以仅使用 javascript? javascript 中有一些方法可以通过它的选择器找到一个元素,但是它是否可以通过它包含的特定文本来查找一个元素?

我正在使用的元素是:

<span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">28</span>

我想通过它包含的数字 (28) 找到元素。

如果有人知道如何做到这一点,那就太棒了。

仅获取span元素(或文档中您知道要查看的特定部分中的元素)的集合。 循环遍历元素并检查它们的textContent是否为您的值。

 document.querySelectorAll("span").forEach(function(element){ if(element.textContent.includes("28")){ console.log(element); } });
 <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">21</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">22</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">22</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">23</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">24</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">25</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">26</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">27</span> <span class="_7Cm1F9 ka2E9k uMhVZi dgII7d z-oVg8 pVrzNP">28</span>

定位元素的方式不会根据语言绑定(语法除外)而改变。 这个 xpath 应该可以工作:

the_elements = browser.find_elements_by_xpath("//span[text()='28']")
for element in the_elements:
    // do whatever here

编辑:这是 Javascript 中的相同代码:

var elements = driver.findElement(By.xpath("//span[text()='28']"));
for (var e : elements)
{
    // Do something
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM