我是XPath新手,需要一些帮助。使用xpath匹配包含任何整数的字符串(0到9之间)
系统自动生成看起来像这样的ID:
<input type="file" class="form-file" size="22"
name="files[entry-23245_field_entry_attachment_und_0]"
id="edit-entry-23245-field-entry-attachment-und-0-upload"
style="background-color: transparent;">
我能够找到使用XPath或CSS但是ID字符串的变化,因为这范围内的数字的ID是随机生成所以未来我的测试运行时,它失败,因为它无法找到字符串。
我想知道,如果它是在所有可能写的XPath表达式将寻找一切从字符串edit-entry-
的开始,然后一些如何寻找一个字符串-23245-
内0-9之间的任意整数,然后也匹配结束部分field-entry-attachment-und-0-upload
。通过这种方式,当我的测试运行时,即使字符串中的数字发生变化,也可以随时查找元素。 iv尝试将\d+
添加到我的xpath中,但似乎没有提取它。
这是XPath:
//*[@id="edit-entry-23245-field-entry-attachment-und-0-upload"]
谢谢Severin。可以使用xpath构造的正则表达式?请告诉我这将如何写入xpath? – user2240134
它不可能做到这一点。你需要提取id并使用提供的正则表达式匹配它。 – Severin
再次感谢。我正在阅读这篇文章(http://stackoverflow.com/questions/405060/can-i-use-a-regex-in-an-xpath-expression),并认为它可能在xpath中的用户“包含”,所以认为它可能会说@id包含“[0-9]”。或者我感到困惑? – user2240134