Selenium menunjukkan kesalahan Metode sendKeys(CharSequence[]) dalam tipe WebElement tidak berlaku untuk argumen (String)

Saat menjalankan skrip Selenium oleh JAVA, saya mendapatkan kesalahan di bawah ini.

Kesalahan: "Metode sendKeys(CharSequence[]) dalam tipe WebElement tidak berlaku untuk argumen (String)"

Kode saya:

package Pkg_09;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Practice {

    public static void main(String[] args) {

        WebDriver driver1;

        driver1.get("www.google.com");
        driver1.findElement(By.id("gs_htif0")).sendKeys("Sachin Tendulkar");
        driver1.findElement(By.id("aa")).sendKeys("xx");
        driver1.findElement(By.name("btnK")).click();
    }
}

Mohon beri tahu saya jika ada sesuatu yang saya lewatkan.


person Swapnil Gandhile    schedule 18.09.2015    source sumber
comment
Versi Java dan Selenium apa yang Anda gunakan? Sepertinya versi Java yang lebih lama tidak memahami bahwa String dapat dialihkan ke CharSequence vararg. Secara semantik, CharSequence... akan dengan senang hati menerima tidak ada, satu atau beberapa parameter String.   -  person Philipp Reichart    schedule 18.09.2015
comment
Saya meneruskan sendKeys(String) sepanjang waktu dan berfungsi dengan baik.   -  person JeffC    schedule 18.09.2015
comment
Terima kasih banyak atas tanggapannya. Saya menggunakan Java 8 dan Selenium versi 2.39.0.   -  person Swapnil Gandhile    schedule 21.09.2015


Jawaban (5)


Perilaku ini bergantung pada versi Java yang Anda gunakan untuk menjalankan kode ini. Sejak versi 1.6, boleh saja meneruskan satu instance String sebagai CharSequences yang diharapkan sebagai parameter oleh metode sendKeys(). Namun, jika Anda menggunakan versi yang lebih lama atau ditentukan dalam skrip build Anda sebagai versi sumber/target, maka Anda harus meneruskan Array CharSequences sebagai parameter metode sendKeys(). Jadi itu bisa dilakukan seperti:

public static void main(String[] args) {
    WebDriver driver1;
    driver1.get("www.google.com");
    driver1.findElement(By.id("gs_htif0")).sendKeys(new String[] {"Sachin Tendulkar"});
    driver1.findElement(By.id("aa")).sendKeys(new String[] {"xx"});
    driver1.findElement(By.name("btnK")).click();
}
person Stanislav    schedule 18.09.2015
comment
Terima kasih banyak atas tanggapannya. Saya menggunakan Java 8 dan Selenium versi 2.39.0.& Firefox versi 25. Tolong beritahu saya apa yang harus saya gunakan versi JAVA, Selenium & Firefox? - person Swapnil Gandhile; 21.09.2015
comment
Pertama-tama coba terapkan contoh di atas, jika berhasil tidak perlu memeriksa versi Selenium - person Stanislav; 21.09.2015

Coba Kode Di Bawah Ini:

driver1.findElement(By.id("aa")).sendKeys(new String[]{"xx"});
person palki wadhwa    schedule 24.03.2017

Kami menggunakan versi oksigen gerhana dengan Java 8 dan itu berfungsi dengan baik untuk kami. Kami menghadapi masalah yang sama dengan gerhana Luna dan nila

person Shubham Jain    schedule 30.01.2017

Ini terjadi ketika Anda mencoba menggunakan JAVA 8 dengan versi Selenium yang lebih rendah, ubah stoples Anda ke Selenium 3.0.1 dan semuanya akan berfungsi dengan baik.

person Kushal    schedule 31.01.2017

Jika ada yang masih menghadapi masalah ini (kesalahan Sendkeys), silakan coba di bawah.

unduh "cldc-1.1-java5.0.jar" dan tambahkan di jalur Build--> tambahkan perpustakaan eksternal.

person user7977023    schedule 07.05.2017
comment
ini adalah solusi tulis. unduh cldc-1.1-java5.0.jar dan tambahkan di jalur Build--› tambahkan perpustakaan eksternal. - person user7977023; 07.05.2017