كيفية التمرير للأسفل أو للأعلى في الصفحة Selenium برنامج تشغيل الويب
⚡ ملخص ذكي
تصفح صفحة في Selenium يستخدم WebDriver Javascriptواجهة تنفيذ لتشغيل Javaأوامر التمرير البرمجية، لأن WebDriver يتعامل مع DOM مباشرةً. أربعة سيناريوهات عملية تغطي التمرير بالبكسل، إلى عنصر، إلى أسفل الصفحة، والتمرير الأفقي.

قم بالتمرير للداخل Selenium
للتمرير باستخدام Selenium، يمكنك استخدام Javaواجهة ScriptExecutor التي تساعد على التنفيذ Javaطرق كتابة النصوص من خلال Selenium برنامج تشغيل الويب
بناء الجملة:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- البرنامج النصي - هذا هو Javaنص يحتاج إلى التنفيذ.
- الحجج - إنها الحجج للبرنامج النصي. إنه اختياري.
ما هو شريط التمرير؟
يتيح لك شريط التمرير التنقل حول الشاشة في الاتجاه الأفقي أو الرأسي إذا كان تمرير الصفحة الحالية لا يتناسب مع المنطقة المرئية من الشاشة. يتم استخدامه لتحريك النافذة لأعلى ولأسفل.
Selenium لا يتطلب Webdriver التمرير لتنفيذ الإجراءات لأنه يتعامل مع DOM. ولكن في بعض صفحات الويب، تصبح العناصر مرئية فقط بمجرد قيام المستخدم بالتمرير إليها. في مثل هذه الحالات، قد يكون التمرير ضروريًا.
شريط التمرير هو من نوعين: أفقي و عمودي شريط التمرير كما هو موضح في لقطة الشاشة أدناه.
Selenium البرنامج النصي للتمرير إلى أسفل الصفحة
دعونا نرى كيفية التمرير لأسفل صفحة الويب باستخدام برنامج تشغيل الويب selenium مع السيناريوهات الأربعة التالية:
- السيناريو 1: للتمرير لأسفل صفحة الويب بالبكسل.
- السيناريو 2: للتمرير لأسفل صفحة الويب من خلال رؤية العنصر.
- السيناريو 3: للتمرير لأسفل صفحة الويب في أسفل الصفحة.
- السيناريو 4: التمرير الأفقي على صفحة الويب.
السيناريو 1: للتمرير لأسفل صفحة الويب بالبكسل.
Selenium سيناريو
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)"); } }
سيناريو Descriptأيونفي الكود أعلاه، نقوم أولاً بتشغيل ما هو معطى URL في متصفح كروم. بعد ذلك، قم بتمرير الصفحة بمقدار 1000 بكسل من خلال executeScript. Javascript تقوم طريقة ScrollBy () بتمرير صفحة الويب إلى عدد محدد من وحدات البكسل.
بناء جملة أساليب ScrollBy () هو:
executeScript("window.scrollBy(x-pixels,y-pixels)");
x-pixels هو الرقم عند المحور x، ويتحرك إلى اليسار إذا كان الرقم موجبًا ويتحرك إلى اليمين إذا كان الرقم سالبًا. y-pixels هو الرقم عند المحور y، ويتحرك إلى الأسفل إذا كان الرقم موجب وينتقل إلى الأعلى إذا كان الرقم سالبًا.
على سبيل المثال:
js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels
تحليل المخرجات : هنا هو الإخراج عند تنفيذ البرنامج النصي أعلاه.
السيناريو 2: للتمرير لأسفل صفحة الويب من خلال رؤية العنصر.
Selenium سيناريو
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); } }
سيناريو Descriptايون: في الكود أعلاه، نقوم أولاً بتشغيل عنوان URL المحدد في متصفح Chrome. بعد ذلك، قم بتمرير الصفحة حتى يصبح العنصر المذكور مرئيًا في الصفحة الحالية. Javascript تقوم الطريقة التمرير إلى طريقة العرض () بتمرير الصفحة حتى يصبح العنصر المذكور في وضع العرض الكامل:
js.executeScript("arguments[0].scrollIntoView();",Element );
"الوسائط [0]" تعني الفهرس الأول للصفحة بدءًا من 0.
حيث يكون "العنصر" هو محدد الموقع على صفحة الويب.
تحليل المخرجات : هنا هو الإخراج عند تنفيذ البرنامج النصي أعلاه.
السيناريو 3: للتمرير لأسفل صفحة الويب في أسفل الصفحة.
Selenium سيناريو
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)"); } }
سيناريو Descriptأيون : في الكود أعلاه، نقوم أولاً بتشغيل عنوان URL المحدد في متصفح Chrome. بعد ذلك قم بالتمرير حتى أسفل الصفحة. Javascript طريقة التمرير إلى () قم بالتمرير حتى نهاية الصفحة.
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
يقوم "document.body.scrollHeight" بإرجاع الارتفاع الكامل للنص، أي صفحة الويب.
تحليل المخرجات: هنا هو الإخراج عند تنفيذ البرنامج النصي أعلاه.
السيناريو 4: التمرير الأفقي على صفحة الويب
Selenium سيناريو
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); } }
سيناريو Descriptأيون : في الكود أعلاه، نقوم أولاً بتشغيل عنوان URL المحدد في متصفح Chrome. بعد ذلك، قم بتمرير الصفحة أفقيًا حتى يصبح العنصر المذكور مرئيًا في الصفحة الحالية. Javascript تقوم الطريقة التمرير إلى طريقة العرض () بتمرير الصفحة حتى يصبح العنصر المذكور في وضع العرض الكامل:
js.executeScript("arguments[0].scrollIntoView();",Element );
تحليل المخرجات: هنا هو الإخراج عند تنفيذ البرنامج النصي أعلاه.
لمعرفة المزيد عن JavaScriptExecutor






