2015-09-16 50 views
1

如何滚动iframe元素里面正常的浏览器窗口?量角器在浏览器窗口内滚动iframe

下列哪项不工作(试图滚动窗口,而不是iFrame):

myPage.myItem().click(); 
browser.executeScript("window.scrollTo(0,10000);").then(function() { ...}); 
+0

难道u开关滚动它之前的iframe?如果可能,你可以发布该代码吗? –

+0

是的,我做到了。现在编辑帖子 –

+0

你可以试试这样滚动 - var frame = element(by.tagName('iframe')); frame.executeScript(“window.scrollTo(0,10000);”)。then(function(){...});'?框架变量是您切换到的iframe窗口。 –

回答

3

我找到了解决办法由自己,也许它可以帮助别人:

 return browser.executeScript(function() { 
      var iframe = document.getElementById("myobject"); 
      var docjument = iframe.contentDocument.body; 
      docjument.scrollRight= 111; 
      return iframeDoc.scrollRight; 
     }).then(...) 

就像一个魅力。

感谢反正

0

尝试在框架内滚动,一旦你切换到它。还使用iframe元素执行滚动而不是全局browser对象。这是如何 -

browser.switchTo().defaultContent() //switches to first frame in DOM 
.then(function(){ 
    var frame = element(by.tagName('iframe')); 
    frame.click().then(function(){ 
     frame.executeScript("window.scrollTo(0,10000);").then(function() { ...}); 
    }); 
}); 

希望这可以帮助。

+0

感谢您的建议。我试了一下,看起来好像跑了 - 然而,没有任何反应,例如滚动不会发生... –