खोज…


परिचय

यह विषय selenium साथ स्क्रॉल करने के तरीके के कई दृष्टिकोण प्रदान करेगा

पायथन का उपयोग करके स्क्रॉल करना

1. स्क्रॉल लक्ष्य तत्व के साथ ( "टेम्प्लेट ब्राउज़ करें" पृष्ठ के तल पर बटन) के लिए Actions

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
actions = ActionChains(driver)
actions.move_to_element(target)
actions.perform()

2. लक्ष्य तत्व पर स्क्रॉल करना ( JavaScript साथ "BROWSE TEMPLATES" पृष्ठ के निचले भाग में)

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
driver.execute_script('arguments[0].scrollIntoView(true);', target)

3. अंतर्निहित विधि के साथ लक्ष्य तत्व ("पृष्ठ के निचले भाग पर स्थित" बटन) पर स्क्रॉल करना

from selenium import webdriver

    driver = webdriver.Chrome()
    driver.get('http://www.w3schools.com/')
    target = driver.find_element_by_link_text('BROWSE TEMPLATES')
    target.location_once_scrolled_into_view

ध्यान दें कि location_once_scrolled_into_view भी रिटर्न x , y स्क्रॉल के बाद तत्व के निर्देशांक

4. Keys साथ पृष्ठ के नीचे स्क्रॉल करना

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
driver.find_element_by_tag_name('body').send_keys(Keys.END) # Use send_keys(Keys.HOME) to scroll up to the top of page

ध्यान दें कि send_keys(Keys.DOWN) / send_keys(Keys.UP) और send_keys(Keys.PAGE_DOWN) / send_keys(Keys.PAGE_UP) भी स्क्रॉलिंग के लिए उपयोग किए जा सकते हैं

अलग-अलग तरीकों से जावा का उपयोग करते हुए अलग-अलग स्क्रॉलिंग

नीचे दिए गए समाधान को कुछ सिंटैक्स परिवर्तनों के साथ अन्य समर्थित प्रोग्रामिंग भाषाओं में भी उपयोग किया जा सकता है


  1. वेब पेज में स्क्रॉल डाउन पेज / सेक्शन / डिवीजन करने के लिए है जबकि कस्टम स्क्रॉल बार (ब्राउज़र स्क्रॉल नहीं) है। डेमो के लिए यहां क्लिक करें और स्क्रॉल बार के पास अपना स्वतंत्र तत्व है।

नीचे दिए गए कोड में अपने स्क्रॉल बार तत्व को पास करें और स्क्रॉल बिंदु की आवश्यकता है।

    public static boolean scroll_Page(WebElement webelement, int scrollPoints)
    {
    try
    {
        System.out.println("---------------- Started - scroll_Page ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);

        // drag downwards
        int numberOfPixelsToDragTheScrollbarDown = 10;
        for (int i = 10; i < scrollPoints; i = i + numberOfPixelsToDragTheScrollbarDown)
        {
            dragger.moveToElement(webelement).clickAndHold().moveByOffset(0, numberOfPixelsToDragTheScrollbarDown).release(webelement).build().perform();
        }
        Thread.sleep(500);
        System.out.println("---------------- Ending - scroll_Page ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- scroll is unsucessfully done in scroll_Page ----------------");
        e.printStackTrace();
        return false;
    }
  }

  1. वेब पेज में स्क्रॉल अप पेज / सेक्शन / डिवीजन करने के लिए है जबकि कस्टम स्क्रॉल बार (ब्राउज़र स्क्रॉल नहीं) है। डेमो के लिए यहां क्लिक करें और स्क्रॉल बार के पास अपना स्वतंत्र तत्व है।

नीचे दिए गए कोड में अपने स्क्रॉल बार तत्व को पास करें और स्क्रॉल बिंदु की आवश्यकता है।

public static boolean scroll_Page_Up(WebElement webelement, int scrollPoints)
{
    try
    {
        System.out.println("---------------- Started - scroll_Page_Up ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);
        // drag upwards
        int numberOfPixelsToDragTheScrollbarUp = -10;
        for (int i = scrollPoints; i > 10; i = i + numberOfPixelsToDragTheScrollbarUp)
        {
            dragger.moveToElement(webelement).clickAndHold().moveByOffset(0, numberOfPixelsToDragTheScrollbarUp).release(webelement).build().perform();
        }
        System.out.println("---------------- Ending - scroll_Page_Up ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- scroll is unsucessfully done in scroll_Page_Up----------------");
        e.printStackTrace();
        return false;
    }
}

  1. स्क्रॉल करने के लिए जब एकाधिक ब्राउज़र स्क्रॉल (इन-बिल्ट ब्राउज़र) और आप पेज डाउन कुंजी के साथ स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में अपने स्क्रॉल एरिया एलिमेंट को <div> और पेज डाउन की की आवश्यकता है।

 public static boolean pageDown_New(WebElement webeScrollArea, int iLoopCount)
 {
    try
    {
        System.out.println("---------------- Started - pageDown_New ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);

        for (int i = 0; i <= iLoopCount; i++)
        {
            dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.PAGE_DOWN).build().perform();
        }
        System.out.println"---------------- Ending - pageDown_New ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- Not able to do page down ----------------");
        return false;
    }
}

  1. स्क्रॉल करने के लिए जब कई ब्राउज़र स्क्रॉल करें (इन-बिल्ट ब्राउज़र) और आप पेज यूपी कुंजी के साथ स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में अपने स्क्रॉल क्षेत्र तत्व को <div> और पृष्ठ कुंजी की आवश्यकता है।

public static boolean pageUp_New(WebElement webeScrollArea, int iLoopCount)
{
    try
    {
        System.out.println("---------------- Started - pageUp_New ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);

        for (int i = 0; i <= iLoopCount; i++)
        {
            dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.PAGE_UP).build().perform();
        }
        System.out.println("---------------- Ending - pageUp_New ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- Not able to do page up ----------------");
        return false;
    }
}

  1. स्क्रॉल डाउन करने के लिए जब एकाधिक ब्राउज़र स्क्रॉल (इन-बिल्ट ब्राउज़र) और आप केवल डाउन एरो की के साथ स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में <div> जैसे अपने स्क्रॉल क्षेत्र तत्व को पास करें और नीचे कुंजी की आवश्यकता है।

public static boolean scrollDown_Keys(WebElement webeScrollArea, int iLoopCount)
{
    try
    {
        System.out.println("---------------- Started - scrollDown_Keys ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);

        for (int i = 0; i <= iLoopCount; i++)
        {
            dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.DOWN).build().perform();
        }
        System.out.println("---------------- Ending - scrollDown_Keys ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- Not able to do scroll down with keys----------------");
        return false;
    }
}

  1. स्क्रॉल करने के लिए जब एकाधिक ब्राउज़र स्क्रॉल (इन-बिल्ट ब्राउज़र) और आप केवल ऊपर तीर कुंजी के साथ स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में अपने स्क्रॉल क्षेत्र तत्व को <div> और कुंजी की आवश्यकता है।

public static boolean scrollUp_Keys(WebElement webeScrollArea, int iLoopCount)
{
    try
    {
        System.out.println("---------------- Started - scrollUp_Keys ----------------");
        driver = ExecutionSetup.getDriver();
        dragger = new Actions(driver);

        for (int i = 0; i <= iLoopCount; i++)
        {
            dragger.moveToElement(webeScrollArea).click().sendKeys(Keys.UP).build().perform();
        }
        System.out.println("---------------- Ending - scrollUp_Keys ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- Not able to do scroll up with keys----------------");
        return false;
    }
}

  1. जब ब्राउज़र स्क्रॉल (इन-बिल्ट ब्राउज़र) स्क्रॉल अप / डाउन स्क्रॉल करने के लिए और आप केवल निश्चित बिंदु के साथ ऊपर / नीचे स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में अपना स्क्रॉल बिंदु पास करें। सकारात्मक का अर्थ है नीचे और नकारात्मक का अर्थ है स्क्रॉल करना।

public static boolean scroll_without_WebE(int scrollPoint)
{
    JavascriptExecutor jse;
    try
    {
        System.out.println("---------------- Started - scroll_without_WebE ----------------");

        driver = ExecutionSetup.getDriver();
        jse = (JavascriptExecutor) driver;
        jse.executeScript("window.scrollBy(0," + scrollPoint + ")", "");

        System.out.println("---------------- Ending - scroll_without_WebE ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- scroll is unsucessful in scroll_without_WebE ----------------");
        e.printStackTrace();
        return false;
    }
}

  1. जब ब्राउज़र स्क्रॉल (इन-बिल्ट ब्राउज़र) स्क्रॉल अप / डाउन स्क्रॉल करने के लिए और आप दिखाई क्षेत्र या डायनामिक स्क्रॉल में तत्व बनाने के लिए ऊपर / नीचे स्क्रॉल करना चाहते हैं। डेमो के लिए यहां क्लिक करें

नीचे दिए गए कोड में अपने तत्व को पास करें।

public static boolean scroll_to_WebE(WebElement webe)
{
    try
    {
        System.out.println("---------------- Started - scroll_to_WebE ----------------");

        driver = ExecutionSetup.getDriver();
        ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", webe);

        System.out.println("---------------- Ending - scroll_to_WebE ----------------");
        return true;
    }
    catch (Exception e)
    {
        System.out.println("---------------- scroll is unsucessful in scroll_to_WebE ----------------");
        e.printStackTrace();
        return false;
    }
}

नोट: कृपया अपने मामले को सत्यापित करें और विधियों का उपयोग करें। अगर कोई मामला याद आ रहा है तो मुझे बताएं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow