簡體   English   中英

如何點擊量角器中的隱藏元素?

[英]How to click on hidden element in protractor?

我有一個元素,只有當我將鼠標懸停在它上面時才可見。

我已經編寫了以下代碼來覆蓋面板,以便元素可見。

ptor.actions().
            mouseMove(ptor.findElement(protractor.By.xpath('//*[@id="productapp"]/div/div/div[2]/div/div/div/div[2]/div/div/div/div[4]/table/thead/tr/th[2]'))).
            perform();
        ptor.element.all(by.tagName('i')).then(function(elm){
            elm[0].click();
        });

現在我試着點擊它,但它說 - ElementNotVisibleError:量角器中的元素不可見錯誤。

基本情況是,我想將鼠標懸停在一個面板上,然后單擊隱藏元素,因為該元素在懸停在其上之前是不可見的。

有時,有些情況下您有意要單擊隱藏元素。


一種選擇是通過javascript點擊:

var elm = element(by.id("myid"));
browser.executeScript("arguments[0].click();", elm.getWebElement());

另請參閱: WebDriver單擊()vs JavaScript單擊()


另一個, 使元素可見並單擊它。 現在,這取決於元素的隱藏方式 - 使用style.blockstyle.visibility或使用ng-hide等樣本解決方案,我們將元素的visibility設置為visible ,將displayblock

var elm = element(by.id("myid"));
browser.executeScript(function (arguments) {
    arguments[0].style.visibility = 'visible'; 
    arguments[0].style.display = 'block';
}, elm.getWebElement());

以下代碼為我工作。

  ptor.actions().
    mouseMove(ptor.findElement(protractor.By.xpath('//*@id="productapp"]/div/div/di‌​v[2]/div/div/div/div[2]/div/div/div/div[4]/table/thead/tr/th[2]'))).perform();

   ptor.element.all(by.css('i.ng-scope.tea-ic-sorting')).then(function(elm){
       elm[0].click();
    });

暫無
暫無

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

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