खोज…


परिचय

यह जावा का उपयोग करते हुए सेलेनियम का एक परिचय है। जबकि हम आपको सेलेनियम के बारे में कुछ भी जानने की उम्मीद नहीं करते हैं, आपको इस पाठ्यक्रम का पालन करने के लिए पूर्व जावा ज्ञान होना चाहिए।

लिंक डाउनलोड करें :

सेलेनियम

इंटेलीज आईडिया

ChromeDriver

JDK 8

सेलेनियम के लिए इंटेलीज आइडिया की स्थापना

आवश्यक शर्तें:

  1. जावा स्थापित है
  2. सेलेनियम एक फ़ोल्डर में निकाला जाता है (2 फ़ाइलें और 1 फ़ोल्डर होता है)

सेलेनियम के लिए इंटेलीज आइडिया स्थापित करने के लिए इन चरणों का पालन करें।

  1. "नई परियोजना" पर क्लिक करें।
  2. जावा <"हैलो वर्ल्ड" एप्लिकेशन चुनें
  3. प्रोजेक्ट का नाम टाइप करें, और इसे बनाएं।

आपकी स्क्रीन कुछ इस तरह दिखनी चाहिए यहाँ छवि विवरण दर्ज करें

अब, करने के लिए जाओ

File < Project Structure < Modules < Dependencies

वहां, ग्रीन प्लस ( + ) आइकन पर क्लिक करें, और लाइब्रेरी चुनें। फिर निकाले गए सेलेनियम फ़ोल्डर में नेविगेट करें, और " सेलेनियम-जावा 2.4.0.jar " जोड़ें। इसे जोड़ने के बाद, हरे रंग के प्लस ( + ) आइकन पर फिर से क्लिक करें, और अब "निर्देशिका" चुनें। इस बार, सेलेनियम की फ़ोल्डर libs का पता लगाने, और, ठीक है पर क्लिक करें, जबकि यह का चयन।

अंत में, आपकी परियोजना संरचना इस तरह दिखनी चाहिए यहाँ छवि विवरण दर्ज करें

अब, OK पर क्लिक करें, और आप सभी सेट हो गए हैं।

ChromeDriver सेट करना

आवश्यकताएँ: क्रोमड्राइवर डाउनलोड किया गया है

निम्नलिखित कोड को अपनी कक्षा में कॉपी करें।

public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe");
}

यदि आप लिनक्स का उपयोग कर रहे हैं, तो क्रोमड्राइवर बाइनरी को रास्ता दें।

सेलेनियम का उपयोग करके एक वेबसाइट खोलना

किसी वेबसाइट पर जाने के लिए हम मेथड मेथड का उपयोग करते get । उदाहरण के लिए, यह Google खोल देगा

public static void main(String[] args) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https:www.google.com");
    Thread.sleep(3000); //wait for 3 seconds
    driver.quit();      //close Chrome
}

driver.quit() ब्राउज़र को बंद करता है। एक देरी बनाने के लिए, हम Thread.sleep(3000)Thread.sleep(3000) उपयोग करते हैं।

सेलेनियम में तत्व प्राप्त करना

सेलेनियम में प्रत्येक एचटीएमएल-एलिमेंट को एक WebElement कहा जाता है। उदाहरण के लिए, एक p टैग एक WebElement , a टैग एक WebElement , आदि निम्नलिखित HTML संरचना पर विचार करें:

<a id="link1" href="https://www.google.com">google</a>
<p class="p1">
This is a paragraph
</p>

अब, अगर हम a टैग प्राप्त करना चाहते थे, तो हम कर सकते थे

WebElement link = driver.findElement(By.id("link1"));

अब, हम इस पर क्लिक कर सकते हैं

link.click();

एक और उदाहरण लेते हैं। यदि हम p टैग का पाठ चाहते हैं, अर्थात , " यह एक पैराग्राफ है ", हम कर सकते हैं

WebElement p = driver.findElement(By.className("p1"));
System.out.println(p.getText());

हम तत्वों को टैग द्वारा भी प्राप्त कर सकते हैं, जैसे

WebElement tag = driver.findElement(By.tagName("a"));

सेलेनियम में काम करने का उदाहरण

अब जब हम सेलेनियम की मूल बातें जानते हैं, तो हम अपना प्रोजेक्ट बना सकते हैं। इस उदाहरण के लिए, हम एक कार्यक्रम बना रहे हैं, जो स्टैक-ओवरफ्लो पर नवीनतम प्रश्नों का पता लगाता है।

हम आसान शुरुआत करते हैं, स्टैक-ओवरफ्लो को खोलने देते हैं।

public static void main(String[] args) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https:stackoverflow.com");
    Thread.sleep(3000);
    driver.quit();
}

अब, यदि आप पृष्ठ के स्रोत को देखते हैं, तो आप पाते हैं कि सभी प्रश्न, a टैग हैं, जिसमें क्लास question-hyperlink नेम question-hyperlink । हालाँकि, चूंकि कई प्रश्न हैं, इसलिए हम WebElement के बजाय WebElement List का उपयोग WebElement । इस प्रकार, हम कर सकते हैं

public static void main(String[] args) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "path to chromedriver\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https:stackoverflow.com");
    List<WebElement> list = driver.findElements(By.className("question-hyperlink"));
}

अब, हमें a टैग की href विशेषता प्राप्त करने की आवश्यकता है, जिसमें प्रश्न का लिंक है। ऐसा करने के लिए, हम प्रत्येक WebElement पर getAttribute("href") उपयोग कर सकते हैं, जैसे

public static void main(String[] args) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "path to chromedriver\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https:stackoverflow.com");
    List<WebElement> list = driver.findElements(By.className("question-hyperlink"));
    System.out.println(list.size());
    list.forEach(e->System.out.println(e.getAttribute("href")));
    driver.quit();
}

यह स्टैक-ओवरफ्लो पर शीर्ष-प्रश्नों के लिंक को प्रिंट करता है।

सेलेनियम में वैबसाइट्स के गुण प्राप्त करना

किसी WebElement की विशेषता प्राप्त करने के लिए, हम उस WebElement पर getAttribute उपयोग WebElement । उदाहरण के लिए, निम्नलिखित HTML टैग पर विचार करें

<a id="click" href="https://www.google.com">

हम तत्व की href विशेषता द्वारा पा सकते हैं

WebElement e = driver.findElement(By.id("click"));
System.out.println(e.getAttribute("href")); //prints https://www.google.com


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