Sayfayı Aşağı veya Yukarı Kaydırma Selenium Web sürücüsü
⚡ Akıllı Özet
Sayfayı kaydırırken Selenium WebDriver şunu kullanır: JavascriptÇalıştırmak için yürütücü arayüzü JavaWebDriver, DOM'u doğrudan manipüle ettiği için, kaydırma komutları betik olarak yazılır. Piksel bazında kaydırma, bir öğeye kaydırma, sayfanın altına kaydırma ve yatay kaydırma olmak üzere dört pratik senaryo ele alınmıştır.

İçeri kaydır Selenium
kullanarak kaydırmak için Selenium, Kullanabilirsiniz JavaScriptExecutor arayüzü, yürütmeye yardımcı olur JavaKomut dosyası yöntemleri Selenium Web sürücüsü
Sözdizimi:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- Senaryo – Bu JavaÇalıştırılması gereken komut dosyası.
- Argümanlar – Senaryonun argümanlarıdır. Bu isteğe bağlıdır.
Kaydırma çubuğu nedir?
Kaydırma çubuğu, geçerli sayfa kaydırmanın ekranın görünür alanına sığmaması durumunda ekranda yatay veya dikey yönde hareket etmenizi sağlar. Pencereyi yukarı ve aşağı hareket ettirmek için kullanılır.
Selenium Web sürücüsü, DOM'u yönetirken eylemleri gerçekleştirmek için kaydırma gerektirmez. Ancak bazı web sayfalarında öğeler yalnızca kullanıcı bu sayfalara kaydırdığında görünür hale gelir. Bu gibi durumlarda kaydırma gerekli olabilir.
Kaydırma çubuğu iki türdendir: Yatay hem de dikey Aşağıdaki ekran görüntüsünde gösterildiği gibi kaydırma çubuğunu kullanın.
Selenium Sayfayı aşağı kaydırmak için komut dosyası
Selenium webdriver'ı kullanarak aşağıdaki 4 senaryoyu kullanarak bir web sayfasını aşağı kaydırmayı görelim:
- Senaryo 1: Web sayfasını piksel piksel aşağı kaydırmak.
- Senaryo 2: Web sayfasını öğenin görünürlüğüne göre aşağı kaydırmak.
- Senaryo 3: Web sayfasını sayfanın alt kısmında aşağı kaydırmak için.
- Senaryo 4: Web sayfasında yatay kaydırma.
Senaryo 1: Web sayfasını piksel piksel aşağı kaydırmak.
Selenium Senaryo
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByPixel { WebDriver driver; @Test public void ByPixel() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below driver.manage().window().maximize(); // This will scroll down the page by 1000 pixel vertical js.executeScript("window.scrollBy(0,1000)"); } }
Senaryo DescriptiyonYukarıdaki kodda öncelikle verilen işlemi başlatıyoruz. URL Chrome tarayıcısında. Ardından, executeScript komutuyla sayfayı 1000 piksel kaydırın. Javascript yöntem ScrollBy(), web sayfasını belirli sayıda piksele kaydırır.
ScrollBy() yöntemlerinin sözdizimi şöyledir:
executeScript("window.scrollBy(x-pixels,y-pixels)");
x-pixels, x eksenindeki sayıdır, sayı pozitifse sola, sayı negatifse sağa doğru hareket eder. y-pixels, y eksenindeki sayıdır, sayı pozitifse aşağı doğru hareket eder. pozitif ve eğer sayı negatifse yukarıya doğru hareket eder.
Örnek:
js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels
Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.
Senaryo 2: Web sayfasını öğenin görünürlüğüne göre aşağı kaydırmak.
Selenium Senaryo
import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByVisibleElement { WebDriver driver; @Test public void ByVisibleElement() { System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; //Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //Find element by link text and store in variable "Element" WebElement Element = driver.findElement(By.linkText("Linux")); //This will scroll the page till the element is found js.executeScript("arguments[0].scrollIntoView();", Element); } }
Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra, söz konusu öğe geçerli sayfada görünene kadar sayfayı kaydırın. Javascript method ScrollIntoView(), belirtilen öğe tam görünüme gelinceye kadar sayfayı kaydırır:
js.executeScript("arguments[0].scrollIntoView();",Element );
“argümanlar[0]”, sayfanın 0'dan başlayan ilk dizini anlamına gelir.
Web sayfasındaki konum belirleyicinin "Öğe" olduğu yer.
Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.
Senaryo 3: Web sayfasını sayfanın alt kısmında aşağı kaydırmak için.
Selenium Senaryo
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByPage { WebDriver driver; @Test public void ByPage() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //This will scroll the web page till end. js.executeScript("window.scrollTo(0, document.body.scrollHeight)"); } }
Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra sayfanın en altına kadar kaydırın. Javascript yöntemi ScrollTo() sayfanın sonuna kadar kaydırır.
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
“document.body.scrollHeight” gövdenin yani web sayfasının tam yüksekliğini döndürür.
Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.
Senaryo 4: Web sayfasında yatay kaydırma
Selenium Senaryo
import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class HorizontalScroll { WebDriver driver; @Test public void ScrollHorizontally() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/scrolling.html"); WebElement Element = driver.findElement(By.linkText("VBScript")); //This will scroll the page Horizontally till the element is found js.executeScript("arguments[0].scrollIntoView();", Element); } }
Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra, söz konusu öğe geçerli sayfada görünene kadar sayfayı yatay olarak kaydırın. Javascript method ScrollIntoView(), belirtilen öğe tam görünüme gelinceye kadar sayfayı kaydırır:
js.executeScript("arguments[0].scrollIntoView();",Element );
Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.
Hakkında daha fazla bilgi alın JavaKomut DosyasıYürütücü






