如何编写xpath来获取当前活动窗口的结果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写xpath来获取当前活动窗口的结果?相关的知识,希望对你有一定的参考价值。

我在我的应用程序的不同选项卡上有像Save&Close这样的按钮。如果我写XPath像//按钮[contains(text(),'Save')],它会显示所有按钮的结果,其中“保存”文本出现在不同的选项卡上,无论是活动的还是非活动的。有没有办法获得当前打开的活动标签的“保存”按钮的结果?

这些是用于不同地方的“保存”按钮的html。我想编写一个XPath,它应该适用于所有“保存”按钮,以便我可以在方法中使用它。想知道有没有办法获得目前打开的标签的结果?

1)

<button class="btn ng-binding btn-primary" style="margin-right:5px;" ng-class="checkDeleteCrud()" ng-click="modalActionManager()" ng-disabled="disableSaveButton()" ng-hide="crudStatus==='V'" type="button" aria-hidden="false">Save
                </button>

2)

<button class="btn ng-binding btn-primary" ng-class="checkDeleteCrud()" ng-click="modalActionManager()" ng-disabled="( notValidType() || locksavebutton || !createStatisticsForm.$dirty ) &amp;&amp; saveButtonText=='Save' " ng-hide="crudStatus==='V'" type="button" aria-hidden="false">
                                                                Save
                                                             </button>

3)

<button class="btn ng-binding btn-primary" style="margin-right:5px;" ng-class="checkDeleteCrud()" ng-click="modalActionManager()" ng-disabled="disableSaveButton()" ng-hide="crudStatus==='V'" type="button" aria-hidden="false">Save
                                        </button>
答案

如果您正在寻找可见按钮的通用内容,为什么不简单地使用CSS Selector:

button[ng-disabled*=' ']

如果我现在解释你所有禁用的元素都有ng-disabled值等于disableSaveButton()但是活动元素没有这个函数但是包含带空格的数据所以我将查看button ng-disabled数据中的任何空格数据简单。

希望这有帮助。

另一答案

首先查找活动选项卡,为此您需要知道Dom中的活动选项卡与非活动选项卡的区别。然后在此元素中查找带有“保存”文本的按钮。使用点作为XPath表达式中的第一个字符。

假设webelement“tab”是活动选项卡,那么你可以找到如下按钮(C#代码):

tab.FindElement(ByXPath(".//button[contains(text(),'Save')]")

以上是关于如何编写xpath来获取当前活动窗口的结果?的主要内容,如果未能解决你的问题,请参考以下文章

vbs获取当前活动窗口标题

如何在不从当前活动选项卡中获取焦点的情况下将子窗口添加到 QMdiArea(设置为 TAB 模式)?

python 实现超快窗口截图,自动获取当前活动窗口并展示截图

C++中如何获取当前窗口句柄?

如何获取当前活动的 UIEvent?

如何获取任务管理器中显示的活动窗口应用程序名称