簡體   English   中英

如何單擊帶有量角器的單選按鈕?

[英]How can I click my radion button with protractor?

我有一些單選按鈕,我必須單擊第一個按鈕,但是量角器使我返回“元素不可見”。 我是否以錯誤的方式使用選擇器?

I've trying:
element.all(by.css('ui-radiobutton-icon.ui-clickable')).first.click();

element.all(by.class('ui-radiobutton-icon.ui-clickable')).first.click();

的HTML

<p-dtradiobutton class="ng-star-inserted">
        <div class="ui-radiobutton ui-widget">
            <div class="ui-helper-hidden-accessible">
                <input type="radio">
            </div>
            <div class="ui-radiobutton-box ui-widget ui-radiobutton-relative ui-state-default">
                <span class="ui-radiobutton-icon ui-clickable"></span>
            </div>
        </div>
    </p-dtradiobutton>

您可以嘗試以下嗎?

element.all(by.css('ui-radiobutton-icon.ui-clickable input'))。first.click();

您缺少一個“。” 在ui-radiobutton-icon類之前。 嘗試這個:

element.all(by.css('.ui-radiobutton-icon.ui-clickable')).first.click();

我看到的一些錯誤:

1)它是first()而不是first

2) by.class('foo')應該是by.className('foo')

3)雖然不確定,但您可能要單擊input元素

通常,在使用定位器時,應將它們鏈接起來。 嘗試從頁面的頂部開始,並將其鏈接到應該選擇的元素。 為了實現可重用性,您還可以存儲鏈接的element調用。 通常,如果可能,嘗試使用element()而不是element.all()

對於單擊單選按鈕,我建議以下代碼:

// start at the very top.
element(by.tagName('p-dtradiobutton'))  
 .element(by.css('.ui-radioButton .ui-helper-hidden-accessible'))
 .element(by.tagName('input')).click();

首先,量角器中沒有browser.class這樣的東西。 第二件事是您的代碼中有2個錯誤。

代替

 element.all(by.css('ui-radiobutton-icon.ui-clickable')).first.click();

使用此代碼

element.all(by.css('.ui-radiobutton-icon.ui-clickable')).first().click();

如果您錯誤指出元素不可點擊或不可見

  var EC = protractor.ExpectedConditions;
  var element=element.all(by.css('.ui-radiobutton-icon.ui-clickable')).first();
  var isClickable = EC.elementToBeClickable(element);
  browser.wait(isClickable, 5000);
  element.click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM