Memuat naik fail ialah bahagian yang rumit dalam automasi Pada masa ini, selenium tidak menyediakan API untuk memuat naik, jadi anda tahu untuk menggunakan kuasa luaran untuk melengkapkannya, seperti AutoIt dan sikuli.
AutoIt, ini adalah perisian percuma menggunakan bahasa skrip seperti ASAS Ia direka untuk mengautomasikan operasi Windows GUI (antara muka pengguna grafik) dengan mensimulasikan kekunci papan kekunci, pergerakan tetikus dan gabungan tetingkap/kawalan.
Kedua-dua kaedah muat turun tersedia di sini ialah zip ditunjukkan di bawah Ditunjukkan:
Klik pada folder SciTe dan kami membuka editor skrip.
Buka tetingkap muat naik imej Baidu, buka alat Maklumat Windows AutoIt, gerakkan tetikus ke Alat Pencari, tahan butang kiri tetikus dan seretnya ke kawalan tingkap yang perlu dikenalpasti. Seret butang bentuk sasaran pada pencari elemen ke tetingkap timbul muat naik fail untuk menangkap beberapa maklumat elemen. Gunakan tetikus untuk menyeret ikon Alat Pencari pada alat (bahagian yang dibulatkan dengan warna biru dalam gambar) ke kawalan untuk dikenal pasti Maklumat pengenalan unik kawalan akan dipaparkan di bahagian kiri alat (bahagian yang bertanda dalam kotak merah dalam gambar) ). Daripada hasil yang dipaparkan, kita tahu bahawa Tajuk kawalan ini ialah "Terbuka", Kelas ialah Edit dan Instance=1. Kami menggunakan maklumat kawalan ini untuk mencari kawalan dan menulis skrip.
Buka editor dan panggil fungsi untuk menulis skrip berdasarkan maklumat yang diiktiraf oleh Alat Pencari kawalan masukkan skrip berikut dalam editor skrip AutoIt tanpa catatan I tulis di bawah.
Kita perlu mengetahui maklumat berikut di sini:
1. Tajuk halaman operasi, yang digunakan untuk membetulkan halaman operasi.
2. Untuk maklumat yang perlu diisi, isikan "path and file name of the uploaded box" dalam kotak input (windows operation)
3. Klik butang "Open" untuk memuat naik fail.
Berdasarkan maklumat kawalan yang dikenal pasti di atas, gunakan editor SciTE Skrip Editor untuk menulis skrip mengikut sintaks AutoIT.
Beberapa kaedah diperlukan untuk melaksanakan muat naik fail:
ControlFocus ( "窗口标题", "窗口文本", 控件ID) ---->设置输入焦点到指定窗口的某个控件上(即:控件ID“文件名”输入框的id) WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] ) ---->暂停脚本的执行直至指定窗口存在(出现)为止 ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" ) ---->修改指定控件的文本(即:控件ID“文件名”输入框的id) Sleep ( 延迟 ) ---->使脚本暂停指定时间段 ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] ) ---->向指定控件发送鼠标点击命令(即:控件ID“打开”按钮的id)
Antaranya, tajuk ialah medan Tajuk yang diiktiraf oleh AutoIt Window Info, dan controlID ialah penyambungan Kelas dan Instance yang diiktiraf oleh AutoIt Maklumat Tetingkap , seperti yang ditunjukkan dalam gambar di atas, hasil selepas penyambungan hendaklah: Button1 (iaitu nama kelasNN)
ControlFocus(("title","text",controllD)用于识别windows文件上传窗口 ControlFocus("打开","","")向文件名输入框输入本地要上传文件的路径 ControlSetText("打开","","Edit1","C:\Users\DELL\Desktop\test\upload\北京宏哥.jpeg") Sleep(2000)点击上传窗口中的“打开“按钮 ControlClick("打开","","Button1")
Simpan fail skrip dalam format ChromFileUpload.au3 , dan kemudian klik dalam menu Alat editor skrip AutoIt, tools=>go, laksanakan pengesahan skrip (dengan syarat tetingkap tingkap mesti dibuka), pengesahan berjaya, seperti yang ditunjukkan dalam rajah di bawah:
Untuk ini skrip untuk dipanggil oleh program java, ia perlu menghantar Compile Script kepada alat .exe (x64) menjana fail exe (ini AutoIt dipasang melalui pakej pemasangan .exe)
Klik menu Alat dalam Editor skrip AutoIt, pilih compile dan fail .exe akan dijana dalam laluan yang sama (AutoIt ini dipasang dengan menyahzip pakej)
Penukaran Segera selesai: Salin ChromeFileUpload .exe ke projek dan gunakannya dalam skrip Selenium kemudian.
kod java
//实现文件上传。通过Runtime的静态方法获取Runtime对象 Runtime runtime = Runtime.getRuntime(); //通过Runtime对象调用exe方法 runtime.exec("C:\Users\DELL\Desktop\test\upload\ChromeFileUpload.exe");
Atas ialah kandungan terperinci Cara Java Selenium menggunakan kekunci hantar untuk memuat naik fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!