java - 如何使用 jQuery 通过 Java 单击 Selenium WebDriver 中的按钮

标签 java jquery eclipse selenium-webdriver testng

我有以下 HTML:

<button class="gbqfba" name="btnK" aria-label="Google Search" id="gbqfba"><span id="gbqfsa">Google Search</span></button>

我的以下用于单击“Google 搜索”按钮的代码在 WebDriver 中使用 java 运行良好:

driver.findElement(By.id("gbqfb")).click();

我想使用 jQuery 和 WebDriver 来单击按钮。我该怎么做?

我执行了以下操作(使用 TestNG 框架在 eclipse 中运行测试):

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("$('#gbqfba').click();");

不幸的是,显示了以下错误:

org.openqa.selenium.WebDriverException:$未定义(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:23 毫秒

我上面的代码有什么问题?

最佳答案

WebDriver 显然没有使用 jQuery 扩展,因此“$”不在命名空间中。您可以将缩小的 jQuery.js 加载到字符串中,然后将其作为测试的一部分进行评估 - 这会将“$”添加到页面的命名空间...

关于java - 如何使用 jQuery 通过 Java 单击 Selenium WebDriver 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12086024/

相关文章:

java - 文档中根元素后面的标记必须格式正确吗?

android - Eclipse - Android 10 SDK 与 Mac OSX 不兼容

java - 整型和浮点型字面量指向和使用?

java - XMLRPC IP.Board 无法找到名为的 API 模块

java - 移动应用程序 API 扩展策略

javascript - 使用 Jquery 或 Javascript 触发 mousemove 事件

java - 无法读取 Java 中 JSON 文件的第一行

jquery - 如何在rails中异步加载部分页面

javascript - 页面重新加载后相同的 Ajax 响应

eclipse - 使用Eclipse Buildship插件运行gradle构建任务时,如何排除测试任务?