Rumah >Java >javaTutorial >Bagaimanakah saya boleh melaksanakan kod JavaScript dalam Selenium WebDriver Java?

Bagaimanakah saya boleh melaksanakan kod JavaScript dalam Selenium WebDriver Java?

Susan Sarandon
Susan Sarandonasal
2024-10-24 21:23:29447semak imbas

How can I execute JavaScript code within Java's Selenium WebDriver?

Menggunakan JavaScript dengan Selenium WebDriver Java

Anda berminat untuk menggunakan JavaScript dengan WebDriver (Selenium 2) melalui Java.

Lokasi Pelaksanaan Perintah

Arahan yang anda rujuk, "$ ./go webdriverjs," harus dilaksanakan daripada direktori tempat projek WebDriverJs terletak.

Mengintegrasikan JavaScript ke dalam WebDriver

Walau bagaimanapun, ambil perhatian bahawa WebDriverJs ialah pengikatan bahasa yang berasingan untuk WebDriver, membenarkan penciptaan ujian dalam JavaScript. Untuk melaksanakan JavaScript dalam WebDriver Java, ikuti langkah berikut:

<code class="java">WebDriver driver = new AnyDriverYouWant();
if (driver instanceof JavascriptExecutor) {
    ((JavascriptExecutor)driver).executeScript("yourScript();");
} else {
    throw new IllegalStateException("This driver does not support JavaScript!");
}</code>

Sebagai alternatif:

<code class="java">WebDriver driver = new AnyDriverYouWant();
JavascriptExecutor js;
if (driver instanceof JavascriptExecutor) {
    js = (JavascriptExecutor)driver;
} // else throw...

// later on...
js.executeScript("return document.getElementById('someId');");</code>

Kaedah executeScript() menerima kedua-dua panggilan fungsi dan kod JavaScript biasa. Ia menawarkan keupayaan untuk mengembalikan nilai dan meluluskan hujah yang kompleks, seperti yang ditunjukkan dalam contoh ini:

  1. Kembalikan WebElement:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
  1. Tambah sempadan ke a WebElement:
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  1. Tukar elemen input kepada butang radio:
<code class="java">js.executeScript(
         "var inputs = document.getElementsByTagName('input');" +
         "for(var i = 0; i < inputs.length; i++) { " +
         "    inputs[i].type = 'radio';" +
         "}" );</code>

Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan kod JavaScript dalam Selenium WebDriver Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn