将 JavaScript 与 Selenium WebDriver Java 结合使用
您有兴趣通过 Java 将 JavaScript 与 WebDriver (Selenium 2) 结合使用。
命令执行位置
您提到的命令“$ ./go webdriverjs”应该从WebDriverJs项目所在的目录执行。
将 JavaScript 集成到 WebDriver
但是,请注意 WebDriverJs 是 WebDriver 的单独语言绑定,允许在 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>
executeScript() 方法接受函数调用和纯 JavaScript 代码。它提供了返回值和传递复杂参数的功能,如以下示例所示:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
<code class="java">WebElement element = driver.findElement(By.anything("tada")); js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
<code class="java">js.executeScript( "var inputs = document.getElementsByTagName('input');" + "for(var i = 0; i < inputs.length; i++) { " + " inputs[i].type = 'radio';" + "}" );</code>
以上是如何在 Java 的 Selenium WebDriver 中执行 JavaScript 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!