Kullanarak Dosya Yükleme ve İndirme Selenium Web sürücüsü

Selenium'a dosya yükle

Dosyaların WebDriver'a yüklenmesi, yüklenecek dosyanın yolunu girmek için dosya seçme giriş alanındaki sendKeys() yöntemi kullanılarak yapılır.

Bu eğitimde dosya yükleme ve indirme işlemlerini nasıl halledeceğimizi öğreneceğiz.

Dosya Nasıl Yüklenir? Selenium

Bu bölüm için kullanacağımız https://demo.guru99.com/test/upload/ test uygulamamız olarak. Bu site, herhangi bir ziyaretçinin kaydolmasına gerek kalmadan kolayca dosya yüklemesine olanak tanır.

Dosyayı Yükle Selenium
Dosya yükleme açılır penceresini yönet Selenium Web sürücüsü

Diyelim ki “C:\newhtml.html” dosyasını yüklemek istiyoruz. WebDriver kodumuz aşağıda gösterilen gibi olmalıdır.

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();
        }
}

Bu scripti çalıştırdıktan sonra dosyayı başarıyla yükleyebilmelisiniz ve buna benzer bir mesaj almalısınız.

Dosyayı Yükle Selenium

WebDriver'a dosya yüklerken iki şeyi unutmayın

  1. "Gözat" düğmesine tıklamayı simüle etmeye gerek yoktur. WebDriver, dosya yolunu otomatik olarak dosya seçimi metin kutusuna girer. eleman
  2. Dosya yolunu ayarlarken Java IDE'de ters eğik çizgi için uygun kaçış karakterini kullanın.

Dosyayı Yükle Selenium

Dosya Nasıl İndirilir Selenium Web sürücüsü

WebDriver'ın İndirme iletişim kutularına erişim yeteneği yok tarayıcılar tarafından bir indirme bağlantısına veya düğmesine tıkladığınızda sunulur. Ancak, "wget" adlı ayrı bir program kullanarak bu iletişim kutularını atlayabiliriz.

Wget nedir?

Wget, indirmeleri otomatikleştirmek için kullanılan küçük ve kullanımı kolay bir komut satırı programıdır. Temel olarak indirme işlemini gerçekleştirmek için Wget’e WebDriver betiğimizden erişeceğiz.

Wget'i ayarlama

) 1 Adım C Sürücünüzde yeni bir klasör oluşturun ve onu “Wget” olarak adlandırın.

Wget.exe'yi indirin buradan ve yukarıdaki adımla oluşturduğunuz Wget klasörüne yerleştirin.

Wget'i ayarlama

) 2 Adım Windows tuşu + “R” tuşuna basarak Çalıştır’ı açın; “cmd” yazın ve Tamam’a tıklayın

Wget'i ayarlama

Kök dizine geçmek için “cd /” komutunu yazın

Wget'i ayarlama

) 3 Adım Verilen kurulumun çalışıp çalışmadığını kontrol etmek için komutu yazın

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

Wget'i ayarlama

C sürücüsüne yazmada bir sorun var gibi görünüyor.

) 4 Adım Kodu kullanarak çalıştırmadan önce komut satırındaki wget hatalarını ayıklamanız gerekir. Selenium Web sürücüsü. Bu hatalar devam edecek Eclipse ve hata mesajları o kadar bilgilendirici olmayacaktır. İlk önce wget'in komut satırını kullanarak çalışmasını sağlamak en iyisidir. Komut satırında çalışıyorsa kesinlikle çalışacaktır Eclipse.

Örneğimizde, 3. adımda gösterildiği gibi, C sürücüsüne yazmada bir sorun var. İndirme konumunu D sürücüsü olarak değiştirelim ve sonuçları kontrol edelim.

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

Wget'i ayarlama

Messenger başarıyla indirildi.

Devam etmeden önce indirilen dosyayı silmeyi unutmayın

WebDriver ve Wget'i kullanma

Aşağıdaki örnekte, Yahoo adlı popüler bir sohbet yazılımını indirmek için WebDriver ve wget'i kullanacağız Messenger. Temel URL'miz şöyle olacaktır: https://demo.guru99.com/test/yahoo.html.

WebDriver ve Wget'i kullanma

) 1 Adım Adım 4'te bir IOException yakalamamız gerekeceğinden “java.io.IOException” paketini içe aktarın.

WebDriver ve Wget'i kullanma

) 2 Adım İndirme bağlantısının “href” değerini elde etmek ve bunu bir String değişkeni olarak kaydetmek için getAttribute() öğesini kullanın. Bu durumda değişkene “sourceLocation” ismini verdik.

WebDriver ve Wget'i kullanma

) 3 Adım Aşağıdaki komutu kullanarak wget için sözdizimini ayarlayın.

WebDriver ve Wget'i kullanma

) 4 Adım WebDriver kodumuzdan wget'i çağırarak indirme işlemini başlatın.

WebDriver ve Wget'i kullanma

Hepsini özetlemek gerekirse, WebDriver kodunuz aşağıda gösterilene benzeyebilir.

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();
        }
        
}

Bu kodu çalıştırdıktan sonra D sürücünüzü kontrol edin ve Yahoo'nun Messenger yükleyici oraya başarıyla indirildi.

WebDriver ve Wget'i kullanma

ÖZET

  • Dosyaların WebDriver'a yüklenmesi, yüklenecek dosyanın yolunu girmek için dosya seçme giriş alanındaki sendKeys() yöntemi kullanılarak yapılır.
  • WebDriver dosyaların indirilmesini kendi başına otomatikleştiremez.
  • WebDriver'ı kullanarak dosya indirmenin en kolay yolu Wget'i kullanmaktır.