का उपयोग करके फ़ाइल अपलोड और डाउनलोड कैसे करें Selenium वेबड्राइवर

सेलेनियम में फ़ाइल अपलोड करें

वेबड्राइवर में फ़ाइलों को अपलोड करने के लिए फ़ाइल-चयन इनपुट फ़ील्ड पर sendKeys() विधि का उपयोग करके अपलोड की जाने वाली फ़ाइल का पथ दर्ज किया जाता है।

इस ट्यूटोरियल में हम सीखेंगे कि फ़ाइल अपलोड और डाउनलोड से कैसे निपटें।

फ़ाइल अपलोड कैसे करें Selenium

इस अनुभाग के लिए, हम उपयोग करेंगे https://demo.guru99.com/test/upload/ हमारे परीक्षण आवेदन के रूप में। यह साइट किसी भी आगंतुक को साइन अप करने की आवश्यकता के बिना आसानी से फ़ाइलें अपलोड करने की अनुमति देती है।

फ़ाइल अपलोड करें Selenium
फ़ाइल अपलोड पॉपअप को संभालें Selenium वेबड्राइवर

मान लीजिए कि हम “C:\newhtml.html” फ़ाइल अपलोड करना चाहते हैं। हमारा वेबड्राइवर कोड नीचे दिखाए गए कोड जैसा होना चाहिए।

package newproject;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class PG9 {
    public static void main(String[] args) {
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
        String baseUrl = "https://demo.guru99.com/test/upload/";
        WebDriver driver = new FirefoxDriver();

        driver.get(baseUrl);
        WebElement uploadElement = driver.findElement(By.id("uploadfile_0"));

        // enter the file path onto the file-selection input field
        uploadElement.sendKeys("C:\\newhtml.html");

        // check the "I accept the terms of service" check box
        driver.findElement(By.id("terms")).click();

        // click the "UploadFile" button
        driver.findElement(By.name("send")).click();
        }
}

इस स्क्रिप्ट को चलाने के बाद, आप फ़ाइल को सफलतापूर्वक अपलोड करने में सक्षम हो जाएंगे और आपको कुछ इस तरह का संदेश प्राप्त होगा।

फ़ाइल अपलोड करें Selenium

वेबड्राइवर में फ़ाइलें अपलोड करते समय निम्नलिखित दो बातें याद रखें

  1. “ब्राउज़” बटन पर क्लिक करने की नकल करने की कोई ज़रूरत नहीं है। वेबड्राइवर स्वचालित रूप से फ़ाइल पथ को फ़ाइल-चयन टेक्स्ट बॉक्स में दर्ज करता है तत्व
  2. अपने फ़ाइल पथ को सेट करते समय Java IDE में, बैक-स्लैश के लिए उचित एस्केप कैरेक्टर का उपयोग करें।

फ़ाइल अपलोड करें Selenium

किसी फ़ाइल को कैसे डाउनलोड करें? Selenium वेबड्राइवर

वेबड्राइवर में डाउनलोड संवाद बॉक्स तक पहुंचने की कोई क्षमता नहीं है जब आप किसी डाउनलोड लिंक या बटन पर क्लिक करते हैं तो ब्राउज़र द्वारा प्रस्तुत किए जाते हैं। हालाँकि, हम "wget" नामक एक अलग प्रोग्राम का उपयोग करके इन डायलॉग बॉक्स को बायपास कर सकते हैं।

Wget क्या है?

Wget एक छोटा और उपयोग में आसान कमांड-लाइन प्रोग्राम है जिसका उपयोग डाउनलोड को स्वचालित करने के लिए किया जाता हैमूलतः, हम डाउनलोड प्रक्रिया करने के लिए अपने वेबड्राइवर स्क्रिप्ट से Wget तक पहुंचेंगे।

Wget की स्थापना

चरण 1) अपने C ड्राइव में एक नया फ़ोल्डर बनाएं और उसका नाम “Wget” रखें।

wget.exe डाउनलोड करें यहाँ से और इसे ऊपर दिए गए चरण में आपके द्वारा बनाए गए Wget फ़ोल्डर में रखें।

Wget की स्थापना

चरण 2) विंडोज़ कुंजी + “R” दबाकर रन खोलें; “cmd” टाइप करें और ओके पर क्लिक करें

Wget की स्थापना

रूट डायरेक्टरी में जाने के लिए “cd /” कमांड टाइप करें

Wget की स्थापना

चरण 3) यह जाँचने के लिए कि दिया गया सेटअप काम कर रहा है या नहीं, कमांड टाइप करें

cmd /c C:\\Wget\\wget.exe -P C: --no-check-certificate https://demo.guru99.com/selenium/msgr11us.exe

Wget की स्थापना

ऐसा लगता है कि C ड्राइव में लिखने में कोई समस्या है।

चरण 4) कोड को निष्पादित करने से पहले आपको कमांड लाइन में wget त्रुटियों को डीबग करना होगा Selenium वेबड्राइवर. ये त्रुटियाँ बनी रहेंगी Eclipse और त्रुटि संदेश उतने जानकारीपूर्ण नहीं होंगे। सबसे पहले wget को कमांड लाइन का उपयोग करके काम करना शुरू करना सबसे अच्छा है। यदि यह कमांड लाइन में काम करता है तो यह निश्चित रूप से काम करेगा Eclipse.

हमारे उदाहरण में, जैसा कि चरण 3 में दिखाया गया है, C ड्राइव में लिखने में समस्या है। आइए डाउनलोड स्थान को D ड्राइव में बदलें और परिणाम देखें।

cmd /c C:\\Wget\\wget.exe -P D: --no-check-certificate https://demo.guru99.com/selenium/msgr11us.exe

Wget की स्थापना

Messenger सफलतापूर्वक डाउनलोड किया गया.

आगे बढ़ने से पहले डाउनलोड की गई फ़ाइल को हटाना न भूलें

WebDriver और Wget का उपयोग करना

निम्नलिखित उदाहरण में, हम याहू नामक एक लोकप्रिय चैट सॉफ्टवेयर को डाउनलोड करने के लिए वेबड्राइवर और wget का उपयोग करेंगे Messenger. हमारा आधार यूआरएल होगा https://demo.guru99.com/test/yahoo.html.

WebDriver और Wget का उपयोग करना

चरण 1) “java.io.IOException” पैकेज को आयात करें क्योंकि हमें चरण 4 में बाद में IOException को पकड़ना होगा।

WebDriver और Wget का उपयोग करना

चरण 2) डाउनलोड लिंक का “href” मान प्राप्त करने के लिए getAttribute() का उपयोग करें और इसे स्ट्रिंग वैरिएबल के रूप में सेव करें। इस मामले में, हमने वैरिएबल को “sourceLocation” नाम दिया है।

WebDriver और Wget का उपयोग करना

चरण 3) निम्नलिखित कमांड का उपयोग करके wget के लिए सिंटैक्स सेट करें।

WebDriver और Wget का उपयोग करना

चरण 4) हमारे वेबड्राइवर कोड से wget को कॉल करके डाउनलोड प्रक्रिया आरंभ करें।

WebDriver और Wget का उपयोग करना

संक्षेप में, आपका वेबड्राइवर कोड नीचे दिखाए गए कोड जैसा दिख सकता है।

package newproject;
import java.io.IOException;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class PG8 {
    public static void main(String[] args) {
        
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
                String baseUrl = "https://demo.guru99.com/test/yahoo.html";
        WebDriver driver = new FirefoxDriver();

        driver.get(baseUrl);
        WebElement downloadButton = driver.findElement(By
        .id("messenger-download"));
        String sourceLocation = downloadButton.getAttribute("href");
        String wget_command = "cmd /c C:\\Wget\\wget.exe -P D: --no-check-certificate " + sourceLocation;

        try {
        Process exec = Runtime.getRuntime().exec(wget_command);
        int exitVal = exec.waitFor();
        System.out.println("Exit value: " + exitVal);
        } catch (InterruptedException | IOException ex) {
        System.out.println(ex.toString());
        }
        driver.close();
        }
        
}

इस कोड को निष्पादित करने के बाद, अपने डी ड्राइव की जांच करें और सत्यापित करें कि याहू Messenger इंस्टॉलर सफलतापूर्वक वहां डाउनलोड किया गया था।

WebDriver और Wget का उपयोग करना

सारांश

  • वेबड्राइवर में फ़ाइलों को अपलोड करने के लिए फ़ाइल-चयन इनपुट फ़ील्ड पर sendKeys() विधि का उपयोग करके अपलोड की जाने वाली फ़ाइल का पथ दर्ज किया जाता है।
  • वेबड्राइवर स्वयं फ़ाइलों के डाउनलोड को स्वचालित नहीं कर सकता।
  • वेबड्राइवर का उपयोग करके फ़ाइलें डाउनलोड करने का सबसे आसान तरीका Wget का उपयोग करना है।