所以我试图点击这个"回顾协议"按钮:
具有以下HTML代码:
<section class="col-33 text-right">
<button class="anchor-button bordered" ng-click="onClickReviewAgreement()">Review Agreement</button>
</section>
但显然它是从其他资源加载的,因此findElement(By.*)
无法处理它 - 我也尝试过By.xpath("/html/body/ul/li[2]/notification-bar/ul/li/section[1]/section[2]/button")
- 。我在View Page Sources
中获得的所有相关代码是:
<!-- Agreement form modal -->
<ui-modal
ui-modal-id="ui.modals.agreementFormModal"
ui-modal-class="takeover agreement"
ui-modal-controller="AgreementFormController"
ui-modal-template-url="paths.templates + '/components/forms/tpl.agreement-form.html'"
ui-modal-has-dimmer="true">
</ui-modal>
有什么方法可以选择这些元素吗?
答案 0 :(得分:3)
您应该能够使用css绑定到ng-click="onClickReviewAgreement()"
。它应该是唯一的,并且css是xpath
答案 1 :(得分:2)
尝试使用css查找元素,然后单击 -
WebElement buttonElement = driver.findElement(By.cssSelector('[ng-click="onClickReviewAgreement()"]'));
buttonElement.click();