2016-06-15 40 views
1

所以我想打这个“评论协定”按钮元素:硒无法找到嵌入HTML载入

enter image description here

它具有以下的html代码:

<section class="col-33 text-right"> 
     <button class="anchor-button bordered" ng-click="onClickReviewAgreement()">Review Agreement</button> 
</section> 

BUT显然它是从另一个资源加载的,所以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> 

有什么办法,我可以选择这些类型的元素?

回答

3

您应该能够使用CSS绑定到ng-click="onClickReviewAgreement()"。它应该是独一无二的,并且css是xpath的更好和更高效的替代品

2

尝试使用CSS来寻找元素,然后单击其后 -

WebElement buttonElement = driver.findElement(By.cssSelector('[ng-click="onClickReviewAgreement()"]')); 
buttonElement.click();