Mat*_*wek 3 testing selenium xpath selenium-webdriver
我正在尝试找到一种方法来选择这个特定的网络元素:
\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小智 10
你的说法几乎是正确的。您只是缺少语句开头的 SelectAll (*)。只需添加它,XPath 就应该可以工作:
//*[contains(@class, "snackbar-info")]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20065 次 |
| 最近记录: |