Muat naik fail ialah fungsi biasa dalam banyak aplikasi web. Selenium WebDriver menyediakan cara untuk mengendalikan muat naik fail menggunakan kaedah sendKeys().
Kod berikut menunjukkan cara mengendalikan muat naik fail menggunakan Selenium WebDriver:
<code class="java">WebElement fileInput = driver.findElement(By.name("uploadfile")); fileInput.sendKeys("C:/path/to/file.jpg");</code>
Untuk tapak web Zamzar, kod di atas sepatutnya berfungsi dengan sempurna. Hanya taip laluan ke dalam medan input.
Untuk tapak web Uploadify, terdapat sedikit kelainan. Butang muat naik bukan elemen input, tetapi objek Flash. Memandangkan tiada API WebDriver untuk bekerja dengan objek Flash, kami perlu menggunakan pendekatan yang berbeza.
Selepas mengklik elemen Flash, tetingkap akan muncul. Kita boleh menganggap bahawa kursor berada dalam input nama Fail. Jika tidak, gunakan Alt N untuk menavigasi ke sana.
Untuk menaip laluan ke dalam medan input secara membuta tuli, gunakan kelas Robot:
<code class="java">Robot r = new Robot(); r.keyPress(KeyEvent.VK_C); // C r.keyRelease(KeyEvent.VK_C); // ... and so on for the rest of the path r.keyPress(KeyEvent.VK_ENTER); // Confirm by pressing Enter r.keyRelease(KeyEvent.VK_ENTER);</code>
Sebagai alternatif, pertimbangkan untuk mengubah suai kod sumber aplikasi Flash untuk mendedahkan kaedah dalaman menggunakan API ExternalInterface. Ini membolehkan JavaScript memanggil kaedah Flash dalaman, yang kemudiannya boleh digunakan oleh WebDriver untuk melaksanakan muat naik fail.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Muat Naik Fail dalam Windows menggunakan Selenium WebDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!