[英]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.