Saya mencari cara cepat untuk mengetik dan tombol Enter atau Return di Selenium. Sayangnya formulir yang saya coba untuk menguji (bukan kode saya sendiri sehingga saya tidak dapat memodifikasi) tidak memiliki tombol Kirim. Ketika bekerja dengannya secara manual, saya cukup ketik ENTERatau RETURN. Saya perlu tahu bagaimana melakukan itu dengan type
perintah Selenium karena tidak ada tombol untuk mengklik.
selenium
automation
automated-tests
keypress
enter
croixhaug
sumber
sumber
Jawaban:
yang
import
pernyataan untuk Java, untuk bahasa lain itu mungkin berbeda, misalnya python:from selenium.webdriver.common.keys import Keys
sumber
from selenium.webdriver.common.keys import Keys
( stackoverflow.com/questions/5503489/... )org.openqa.selenium.Keys
RETURN = '\ue006'
ENTER = '\ue007'
. Tapi kenapa? Beberapa perbedaan peninggalan atau OS.JAWA
ATAU,
PYTHON
ATAU,
ATAU,
RUBI
ATAU,
ATAU,
C #
ATAU,
sumber
Sekarang Selenium 2 telah dirilis, sedikit lebih mudah untuk mengirim kunci Enter, karena Anda dapat melakukannya dengan
send_keys
metodeselenium.webdriver.remote.webelement.WebElement
kelas (kode contoh ini adalah dalam Python, tetapi metode yang sama ada di Jawa):sumber
Anda dapat menggunakan salah satu dari
Keys.ENTER
atauKeys.RETURN
. Berikut ini beberapa detailnya:Penggunaan:
Jawa :
Menggunakan
Keys.ENTER
:Menggunakan
Keys.RETURN
Python:
Menggunakan
Keys.ENTER
:Menggunakan
Keys.RETURN
Keys.ENTER
danKeys.RETURN
keduanya berasalorg.openqa.selenium.Keys
, yang meluasjava.lang.Enum<Keys>
dan mengimplementasikanjava.lang.CharSequence
Tombol Enum
Enum Keys adalah representasi dari tombol yang dapat ditekan yang bukan berupa teks. Ini disimpan dalam poin kode Unicode PUA ( Area Penggunaan Pribadi ), 0xE000-0xF8FF.
Kode Kunci:
Yang spesial
keys codes
untuk mereka adalah sebagai berikut:u'\ue006'
u'\ue007'
Implementasi semua
Enum Keys
ditangani dengan cara yang sama.Karenanya ini adalah TIDAK
Functional
atauOperational
perbedaan saat bekerja dengan salah satusendKeys(Keys.ENTER);
atauWebElement.sendKeys(Keys.RETURN);
melalui Selenium .Enter Key dan Return Key
Pada keyboard komputer, Enter(atau Returnpada Mac OSX) dalam banyak kasus menyebabkan baris perintah, formulir jendela, atau kotak dialog untuk mengoperasikan fungsi standarnya. Ini biasanya untuk menyelesaikan "entri" dan memulai proses yang diinginkan, dan biasanya merupakan alternatif untuk menekan tombol OK.
Ini Returnsering juga disebut sebagai Enterdan mereka biasanya melakukan fungsi yang identik; namun dalam beberapa aplikasi tertentu (terutama tata letak halaman) Returnberoperasi secara khusus seperti kunci Pengembalian Carriage dari mana asalnya. Sebaliknya, Enterini biasanya diberi label dengan namanya dalam teks biasa pada keyboard PC umum.
Referensi
sumber
Saat menulis tes HTML, tombol ENTER tersedia sebagai
${KEY_ENTER}
.Anda dapat menggunakannya dengan
sendKeys
, berikut adalah contohnya:sumber
Dengan Python
Langkah 1.
from selenium.webdriver.common.keys import Keys
Langkah 2.
driver.find_element_by_name("").send_keys(Keys.ENTER)
Catatan: Anda harus menulis
Keys.ENTER
sumber
Anda hanya melakukan ini:
sumber
sumber
Bagi orang-orang yang menggunakan WebDriverJS
Keys.RETURN
akan dirujuk sebagaiContoh yang lebih lengkap sebagai referensi mungkin juga membantu:
sumber
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
ataudriver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
sumber
ENTER = u '\ ue007'
lihat dokumentasi selenium 'Tombol Khusus'
sumber
Aku seperti untuk catatan bahwa saya perlu ini untuk tes Cucumber saya dan menemukan bahwa jika Anda ingin mensimulasikan menekan masuk / tombol kembali, Anda perlu mengirim
:return
nilai dan tidak pada:enter
nilai (melihat nilai-nilai yang dijelaskan di sini )sumber
Untuk Selenium RC dengan Java:
Untuk Selenium WebDriver (alias Selenium2) dengan java:
ATAU,
Cara lain untuk menekan Enter di WebDriver dengan menggunakan kelas Tindakan:
sumber
jika Anda mencari "cara menekan tombol enter dari keyboard di selenium webdriver (java)", maka kode di bawah ini pasti akan membantu Anda.
sumber
Anda dapat memanggil
submit()
objek elemen tempat Anda memasukkan teks.Sebagai alternatif, Anda dapat secara khusus mengirim kunci enter seperti yang ditunjukkan dalam cuplikan python ini:
sumber
Coba gunakan XPATH untuk mencari elemen dan kemudian, kode berikut berfungsi:
sumber
Ada beberapa cara berikut untuk menekan tombol - C #:
ATAU
ATAU
sumber
berhasil
sumber
Saat Anda tidak ingin mencari pelacak apa pun, Anda dapat menggunakan kelas Robot: misalnya:
sumber
Untuk memasukkan kunci menggunakan selenium Pertama, Anda perlu mengimpor perpustakaan berikut:
lalu tambahkan kode ini di tempat Anda ingin memasukkan kunci
Anda dapat mengganti RETURN dengan kunci apa saja dari daftar sesuai dengan kebutuhan Anda
sumber
Dapat dicapai menggunakan antarmuka Tindakan juga, dalam kasus WebDriver -
sumber
Untuk RUBY: -
sumber
Anda dapat mencoba :
sumber
Saya harus mengirim kunci enter di tengah teks. Jadi saya melewati teks berikut untuk mengirim fungsi tombol untuk mencapai
1\n2\n3
sumber
Untuk Selenium WebDriver menggunakan xpath (Jika kuncinya terlihat):
atau,
sumber
Jika Anda berada dalam situasi khusus ini:
a) ingin HANYA menekan tombol, tetapi tidak memiliki webElement spesifik untuk mengklik
b) Anda menggunakan Selenium 2 (webDriver)
Maka solusinya adalah:
sumber
JAVA / JavaScript:
Anda mungkin dapat melakukannya dengan cara ini, secara non-native :
sumber
sumber
Untuk semua orang yang menggunakan javascript / simpul , ini bekerja untuk saya:
sumber