2016-08-04 71 views
-1

應該很簡單,我試圖點擊使用量角器的圖像鏈接。使用量角器查找並單擊錨點鏈接

<a href="//safeweb.norton.com 
    /a> 

我知道我在做很長的路。

var nortonlink = element(by.css('[href="//safeweb.norton.com/"]')); 

    nortonlink.click(); 

    expect(browser.getCurrentUrl()).toEqual('https://safeweb.norton.com/'); 

我的期望一直說它仍然在當前頁面上,所以點擊沒有運行。

回答

4

您可能需要等待,直到您在目標頁面。有相關urlIs Expected Condition添加到量角器4:

var nortonlink = $('[href*=safeweb]'); // NOTE: also simplified the selector 
nortonlink.click(); 

var EC = protractor.ExpectedConditions; 
browser.wait(EC.urlIs("https://safeweb.norton.com/"), 5000); 

我不知道,如果你需要在這裏結尾的斜線 - 嘗試使用和不使用。

1

使用protractor.ExpectedConditions檢查鏈接是否可點擊。然後點擊它。

var EC = protractor.ExpectedConditions; 

    var nortonlink = element(by.css('[href="//safeweb.norton.com/"]')); 

    nortonlink.click().then(function(){ 
    //wait until page completely loaded 
    browser.wait(function() { 
     return browser.getCurrentUrl().then(function (url) { 
       if(url==!"old url"){  
       return true; 
       } }); 
     }, 8000, 'URL has not changed'); 

    expect(browser.getCurrentUrl()).toEqual('https://safeweb.norton.com/'); 
    }); 
+0

從我所瞭解的OP設法點擊鏈接沒有問題,但URL檢查期望失敗。 – alecxe

+0

@alecxe你可能是正確的。我認爲元素可能不會處於可點擊狀態。 –

+0

可能是,我希望'click()'在這種情況下失敗。會很樂意錯誤的。謝謝。 – alecxe

相關問題