2017-05-31 45 views
0

我在腳本下面編寫了向下滾動頁面,但它不起作用。如果需要的話窗口不能在量角器自動化腳本中向下滾動

browser.driver.executeScript("arguments[0].scrollIntoViewIfNeeded(false);", element(YOUR_LOCATOR).getWebElement()); 

此代碼滾動到一個元素,:

browser.executeScript('window.scrollTo(400,700);').then(function() 
{ 
//browser.sleep(6000); 
var carouselTitle = element(by.css('[ng-if="accessoriesCarouselCtrl.showCarousal==true"]')).element(by.tagName('h3')); 
return carouselTitle.getText().then(function(CarouselCPDP) 
{ 
expect(CarouselCPDP).to.equal('carouselTitleJson'); 
browser.sleep(6000); 

}); 

}); 
+0

當您說這不起作用時,您會得到什麼樣的錯誤?它滾動嗎?還是測試失敗了預期?你的意思是「showCarousel」(你拼出來的表演是Carousal)?一個元素不需要滾動到元素上的量角器到'getText'的視圖中。 – martin770

+0

當頁面被加載時,頁面保持在最前面,並且不會滾動到所提到的座標。我只想將頁面向下滾動以聚焦元素「var carouselTitle = element(by.css('[ng-if =」accessoriesCarouselCtrl.showCarousal == true「]'))。element(by.tagName('h3')) ;」 – Akhilesh

回答

0

您可以使用下面滾動到一個元素。如果您使用此代碼,您的代碼將如下所示:

browser.driver.executeScript("arguments[0].scrollIntoViewIfNeeded(false);", element(YOUR_LOCATOR).getWebElement()).then(function() 
{ 
    //browser.sleep(6000); 
    var carouselTitle = element(by.css('[ng-if="accessoriesCarouselCtrl.showCarousal==true"]')).element(by.tagName('h3')); 
    return carouselTitle.getText().then(function(CarouselCPDP) 
    { 
     expect(CarouselCPDP).to.equal('carouselTitleJson'); 
     browser.sleep(6000); 

    }); 

}); 
+0

我使用這段代碼,但仍然沒有向下滾動頁面。 browser.driver.executeScript(「arguments [0] .scrollIntoViewIfNeeded(false);」,element(by.css('.btn btn-primary ng-binding ng-scope'))。getWebElement())。then(function( ) \t \t \t { \t //browser.sleep(6000); \t \t \t變種carouselTitle =元件(by.css( '[NG-如果= 「accessoriesCarouselCtrl.showCarousal == TRUE」]'))元件。 (by.tagName( 'H3')); 返回carouselTitle.getText(),然後(函數(CarouselCPDP){ \t \t \t的console.log(CarouselCPDP); \t期望(CarouselCPDP).to.equal('carouselTitleJson '); \t \t \t browser.sleep(6000); \t \t \t \t \t \t}); \t \t \t \t \t \t}); – Akhilesh

+0

這裏是元素代碼: Akhilesh

+0

您是否有多個按鈕用這個CSS類? 請嘗試以下操作以獲取您的元素: 'element(by.buttonText('Add to cart'))' – Batajus