是否有一种xpath方法来查找具有给定属性的节点,该属性的值包含给定的字符串?
例如,我有一个xml文档,并希望找到address属性包含字符串的节点Downing,以便我可以找到以下节点:
<person name="blair" address="10 Downing St. London"/>
Run Code Online (Sandbox Code Playgroud) <root>
// other nodes
<a href="/PatternFramework/Pages/LogOut.aspx?np=/sites/novatestsite/Home.aspx" slick-uniqueid="92">Sign out</a>
</root>
Run Code Online (Sandbox Code Playgroud)
如何编写一个返回包含"logout.aspx" 的a标签的xpath href?
比如像
//a[@href[contains[., "logout.aspx"]]
Run Code Online (Sandbox Code Playgroud) 我想获得classname(.class)的Xpath选择器.所以基本上,我想知道如何选择[attr~ = value]
所以,如果我有一个元素
<div class="class1 class2 class3"></div>
<div class="class1"></div>
Run Code Online (Sandbox Code Playgroud)
我想选择.class1,它应该返回两个div.[@ class ='class1']不起作用,因为它不会选择第一个div.
我正在尝试找到一种方法来选择这个特定的网络元素:
\n\n<snack-bar-container class="mat-snack-bar-container ng-tns-c43-25 ng-trigger ng-trigger-state snackbar-info mat-snack-bar-center ng-star-inserted" role="alert" style="transform: translateY(0%);"><!----><simple-snack-bar class="mat-simple-snackbar ng-tns-c44-26 ng-trigger ng-trigger-contentFade ng-star-inserted" style="">Asset successfully loaded! <!----><button class="mat-simple-snackbar-action ng-tns-c44-26 ng-star-inserted" style="">Close</button></simple-snack-bar></snack-bar-container>\nRun Code Online (Sandbox Code Playgroud)\n\n目前我正在通过文本选择:
\n\n.//snack-bar-container//*[contains(text(),\'There are errors on the page:\')]\nRun Code Online (Sandbox Code Playgroud)\n\n但由于存在本地化(文本翻译),从长远来看,它是不可靠的,问题是,如何选择具有类属性的元素,该类属性在类名称中包含某些特定文本。
\n\n正如你所看到的,我的网络元素类非常长,并且经常变化,所以我需要检查它是否包含一些特定的文本,我尝试过:
\n\n.//[contains(@class,\xe2\x80\x99snackbar-info\xe2\x80\x99)]\nRun Code Online (Sandbox Code Playgroud)\n\n但它不起作用,有什么建议吗?谢谢。
\n