2016-06-15 9 views
1

So geladen finden Ich versuche, diese "Bewertungsvereinbarung" Knopf drücken:Selen können nicht das Element von eingebetteten HTML

enter image description here

, den folgenden HTML-Code hat:

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

BUT anscheinend ist es von einer anderen Ressource geladen, so funktioniert findElement(By.*) nicht darauf - Ich habe auch versucht By.xpath("/html/body/ul/li[2]/notification-bar/ul/li/section[1]/section[2]/button") -. Alle verwandten Code, den ich in View Page Sources bekommen ist:

<!-- 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> 

Gibt es eine Möglichkeit, diese Art von Elementen auswählen können?

Antwort

3

sollten Sie in der Lage sein zu ng-click="onClickReviewAgreement()" binden mit CSS. Es sollte einzigartig sein und CSS ist eine bessere und effizientere Alternative zu Xpath

2

Versuchen mit CSS, das Element zu finden und danach klicken -

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