-1

HTML で一意の識別子を持たないボタンを見つけようとしています。あらゆることを試し、ウェブ上の複数のサイトにアクセスしましたが、まだ機能するロケーターが見つかりません。ページには 3 つのボタンがあります。私はすでに試しました。

element.all(by.css('[type="button"]')).get(1).click();

element.(by.xpathy('//div [@ng-click="addAdminForm()"]')).click();

$$('[ng-click="addAdminForm()"]').click();

element.all(by.css('.adminportal-submit-button')).get(0).click();

事前に感謝します。

<div class="layout-align-start-center layout-row flex">

<button class="md-primary adminportal-cancel-button md-button md-ink-ripple" ng-transclude="" type="button" ng-click="gotoHomePage()" ng-disabled="disableButtons" analytics-on="" analytics-category="Clinics" analytics-event="cancel" tabindex="0" aria-disabled="false">
</div>

<div class="layout-align-end-center layout-row">

<button class="md-raised md-primary adminportal-submit-button md-button md-ink-ripple" ng-transclude="" type="button" ng-click="addAdminForm()" ng-disabled="manageClinicForm.$invalid || disableButtons" analytics-on="" analytics-category="Clinic-Admins" analytics-event="register" tabindex="0" aria-disabled="false">

<button class="md-raised md-primary adminportal-submit-button md-button md-ink-ripple" ng-transclude="" type="submit" ng-disabled="manageClinicForm.$invalid || disableButtons" aria-disabled="false">
4

1 に答える 1

0

xpath によるロケータが動作するはずです。

element(by.xpath('//div[@ng-click="addAdminForm()"]')) 

そうでない場合は、待機を使用してみてください。

var button = element(by.xpath('//div[@ng-click="addAdminForm()"]'));
 browser.wait(EC.presenceOf(element(by.xpath('//div[@ng-click="addAdminForm()"]'))), 30000).then(function () {
        browser.wait(EC.visibilityOf(element(by.xpath('//div[@ng-click="addAdminForm()"]'))), 30000).then(function () {
            browser.wait(EC.elementToBeClickable(element(by.xpath('//div[@ng-click="addAdminForm()"]'))), 30000).then(function () {
                button.click();
            });
        });
    });
于 2016-11-28T14:26:13.670 に答える