2017-05-31 30 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