Mengendalikan Muat Naik Fail Menggunakan Selenium WebDriver pada Mesin Windows
Selenium WebDriver ialah alat popular untuk mengautomasikan tugasan pelayar web. Satu tugas biasa ialah memuat naik fail, yang boleh menjadi sangat mencabar pada mesin Windows.
Senario: Muat Naik Fail Windows
Pengguna menetapkan senario di mana Selenium standard Kaedah WebDriver untuk muat naik fail, menggunakan sendKeys(), tidak berfungsi. Mereka menyediakan tangkapan skrin yang menunjukkan bahawa tetingkap pemilihan fail muncul, tetapi mereka tidak dapat berinteraksi dengannya.
Penyelesaian
Pengguna telah menyiarkan pada Stack Overflow dan mendapati penyelesaian yang menggunakan kelas Robot untuk mensimulasikan ketukan kekunci dalam tetingkap pemilihan fail. Penyelesaiannya kelihatan seperti ini:
<code class="java">driver.findElement(By.id("uploadfile")).click(); Robot r = new Robot(); r.keyPress(KeyEvent.VK_C); // C r.keyRelease(KeyEvent.VK_C); r.keyPress(KeyEvent.VK_COLON); // : (colon) r.keyRelease(KeyEvent.VK_COLON); r.keyPress(KeyEvent.VK_SLASH); // / (slash) r.keyRelease(KeyEvent.VK_SLASH); // etc. for the whole file path r.keyPress(KeyEvent.VK_ENTER); // confirm by pressing Enter in the end r.keyRelease(KeyEvent.VK_ENTER);</code>
Kelas Robot memasukkan laluan fail yang ditentukan dengan ketukan kekunci. Ia adalah teknik "buta", kerana Selenium tidak menyediakan akses terus kepada dialog pemilihan fail. Pendekatan ini menganggap bahawa kursor berada dalam input nama fail selepas tetingkap dibuka.
Alternatif
Pengguna juga menyebut kaedah alternatif menggunakan Flash. Walau bagaimanapun, ini melibatkan pengubahsuaian kod sumber aplikasi Flash dan menggunakan JavaScript untuk memanggilnya. Ia adalah pendekatan yang lebih kompleks dan kurang boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Muat Naik Fail dengan Selenium WebDriver pada Mesin Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!