0

我们有一个正在自动化的新页面,引导模板中的一些功能正在给自动化带来一些复杂性。

传统上,使用复选框或单选按钮,我们使用标签来识别它:

[FindsBy(How = How.CssSelector, Using = "body [autotag='prf_rd_1']")]
        private IWebElement myElement;

此时您可以在 Webdriver 代码中使用 element.isSelected 来查看它是否被勾选。

但是,随着引导开发人员已更改为使用活动或不活动的按钮,例如:

<button class="btn" autotag="prf_bt1" btn-radio="availabilityType.key" ng-model="model.availability.time" type="button"> … </button>

<button class="btn **active**" autotag="prf_bt1" btn-radio="availabilityType.key" ng-model="model.availability.time" type="button"> … </button>

(嗯,不知道如何在代码片段中高度活跃这个词,如果有人知道,请随时编辑)

所以,现在我们不能寻找“isSelected”,因为它不像复选框那样工作。

有没有人有一个代码示例来确定按钮是否在其 css 中具有活动类,而不使用 XPATH?目前我们会像上面那样使用 CssSelector,这样元素可以移动,文本可以改变,但只要自动标记仍然存在,一切都很好。但是,我不清楚如何执行此操作并同时查找其他 CSS(类)以确定它是否处于活动状态。

4

2 回答 2

2

如果我理解正确,您只需要一个 CSS 选择器,它可以在特定属性中定位包含特定值的元素,在这种情况下,它是class.

这很容易,一个复杂的方法是:

button[class*='active']

*=是一个属性通配符,允许您说“A 在该属性值内的某个位置”。

要专门查找button具有class包含active 具有auto-tag设置为的属性的a prf_bt1

button[class*='active'][auto-tag='prf_bt1']
于 2013-10-18T14:31:07.910 回答
0

您可以使用这些方法中的任何一种来获取元素的状态,

getAttribute  
getCssValue  
isEnabled

您可以在此处获得有关这些方法的更多详细信息。

于 2013-10-18T05:59:44.447 回答