我正在使用selenium自动化应用程序。没有像id,tag这样的普通标签,通过它我可以找到一个元素。所以我使用的是xpath [driver.findElement(By.xpath())]。但现在我发现WebElement的一些xpath在运行时动态变化,所以我的测试用例都失败了。即使相对xpath选项不适用于HTML.I我粘贴了AUT的html的一部分。请让我知道如何处理这种情况。
<div>
<button class="btn btn-primary ng-hide" ng-click="unlockOrder('/content/boss/en/dashboard');" ng-show="enableUnlockButton" type="button">Unlock Order</button>
<button class="btn btn-primary" ng-click="discardOrder('/content/boss/en/create-order/pre-order-options');" type="button">Discard Order</button>
<button class="btn btn-primary" ng-click="saveOrder(showSaveButton && ban_search.$valid);" ng-disabled="showSaveButton==false || ban_search.$invalid" type="button" disabled="disabled">Save Order</button>
</div>
答案 0 :(得分:0)
我会依赖按钮文本:
driver.findElement(By.xpath('//button[. = "Unlock Order"]'))
其中.
指的是按钮的文字。