[英]Scroll not working in Internet Explorer
我在 Internet Explorer 10 中嘗試使用 javascript scroll(x,y) 。 但是,當我嘗試為網站執行腳本時,它不起作用。 在 IE 中的等價物是什么? 它是 Java Selenium 測試的一部分。 我需要在頁面中滾動。 所以,我通過使用 javascript 執行器執行 javascript 代碼來做到這一點。
for(int i=0;i<X;i+=Y)
String cmd = "window.scrollTo(0,"+i+")";
((JavascriptExecutor) driver).executeScript(cmd);
我在測試中使用上面的代碼來滾動頁面。 但是,在 Internet Explorer IE10 中它不起作用。
你為什么不嘗試像這樣scrollIntoView
元素
JavascriptExecutor jse=(JavascriptExecutor)driver;
jse.executeScript("document.getElementById(<id>).scrollIntoView(true)");
面臨類似的問題。 這對我來說是所有瀏覽器中window.scrollTo
JS 方法的替代方法。
我有同樣的問題,但使用 IE 9。
我找到
executeScript("window.scrollTo(0,100)")
沒有用,但是
executeScript("window.scrollTo(0,100);")
沒有工作。 注意“;” 在執行命令的末尾。
顯然,某些版本的 IE10 中的 JavascriptExecutor 存在問題。 Here提供了一種可能的解決方法,但我自己沒有嘗試過。
我使用以下方法在 Internet Explorer 的情況下滾動(其中 element 是 WebElement 的引用,需要滾動到屏幕中心):
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,-300)", "");
對於其他瀏覽器,我正在使用:
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView({block: \"center\"});", element);
這兩個都會將元素滾動到屏幕中心。
不要忘記替換所需的定位器而不是element 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.