首頁  >  文章  >  Java  >  如何從 Java WebDriver 執行 JavaScript 程式碼?

如何從 Java WebDriver 執行 JavaScript 程式碼?

Patricia Arquette
Patricia Arquette原創
2024-10-25 04:50:29589瀏覽

How do I Execute JavaScript code from Java WebDriver?

從Java 執行WebDriver JavaScript:增強指南

問題中提到的命令./go webdriverjs 是一個shell 命令,旨在在特定資料夾中設定並初始化WebDriverJs 環境。但是,需要注意的是,WebDriverJs 是一種語言綁定,它支援 JavaScript 測試,而不是從 Java 執行 JavaScript 片段。

要在Java WebDriver 中運行JavaScript 程式碼,請使用以下方法:

<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>

或者,考慮:

<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>

JavascriptExecutor 提供了廣泛的文件和功能。在它的executeScript()方法中,您可以執行函數呼叫、原始JS、傳回值以及傳遞複雜參數。

範例:

  1. 如driver.findElement( 所示) 取得WebElement By.id("someId")):
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
  1. 視覺化WebElement 的邊框:
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  1. 修改單選頁輸入按鈕:
<code class="java">js.executeScript(
         "var inputs = document.getElementsByTagName('input');" +
         "for(var i = 0; i < inputs.length; i++) { " +
         "    inputs[i].type = 'radio';" +
         "}" );</code>

以上是如何從 Java WebDriver 執行 JavaScript 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn