<a class="spf-link current" href="/orders/returns?offset=0&limit=25">
<span class="pg-helpText">Page</span>
1
</a>
我需要在测试中读取值“1”。当我使用css-selector .spf-link.current获取文本时,它会让我“第1页”。我只需要'1'。如何从span标记中排除文本。
答案 0 :(得分:0)
尝试以下方法:
//跨度[@class =&#34; PG-HELPTEXT&#34;并包含(text(),&#39; Page&#39;)] / follow-sibling :: span / span
答案 1 :(得分:0)
在标签之间自定义未标记文本是不正常的。
我建议您将值更改为所需的结果:
<a class="spf-link current" href="/orders/returns?offset=0&limit=25">1</a>
...当您想要在其他地方展示时,请将其设为var ThePage = "Page " + [the page number]
其他解决方案是将其作为div
或另一个具有不同类别或ID的span
包含在另一个标记中。
答案 2 :(得分:0)
您需要Javascript childNodes才能从节点获取文本。
childNodes属性返回节点子节点的集合, 作为NodeList对象。
集合中的节点按照它们在源中的显示进行排序 代码,可以通过索引号访问。索引从0开始。
WebElement element = driver.findElement(By
.cssSelector(".spf-link.current"));
String node_text=(String)((JavascriptExecutor)driver)
.executeScript("return arguments[0].childNodes[2].nodeValue",element);
当您运行JavascriptExecutor时,这应该为您提供值node_text
。其他方法是在Page 1
的基础上拆分文本space
。但是,我更希望childNodes
。
如果您有任何疑问,请与我们联系。