如何在selenium中表示xpath的text()方法中的任何文本?

时间:2018-02-11 11:24:32

标签: selenium xpath

我在段落标签中有文字

<p class="lead ng-binding">                     Showing all 50 toys available at Delhi store                 </p>

我使用了//*[normalize-space(text()) = 'Showing all 50 toys available at Delhi store'

它成功定位,但我需要的是50和商店名称可以是任何东西。所以我需要一些东西,我可以用来代表任何东西,同时找到这个元素。非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以尝试以下代码从段落中提取"50"

xpath = "//p[starts-with(normalize-space(text()), 'Showing all') and contains(normalize-space(text()), 'toys available at')]"
paragraph = driver.find_element_by_xpath(xpath)
value = paragraph.text.split("Showing all ")[-1].split()[0]
print(value) # "50"

XPath应该允许您获取以"Showing all..."子查询开头并且还包含"...toys available at..."子字符串的段落,因此您不必在XPath中指定数字和商店名称

P.S。由于您没有指定您使用的编程语言,因此我提供了Python中的解决方案示例。如果您想要特定语言的解决方案,请添加适当的标记