【问题标题】:How to implement jquery script in selenium webdriver java如何在selenium webdriver java中实现jquery脚本
【发布时间】:2015-04-15 04:40:18
【问题描述】:

我创建了一个脚本,我想在另一个 Selenium WebDriver 脚本中使用它:

$function() {
    $("pane1").hide(300);
});

我正在尝试找出一种在我的 Selenium java 代码中调用此脚本的方法。

【问题讨论】:

  • 请详细说明?你想叫什么?为了什么?
  • 我想在我创建的 webdriver 脚本中调用 jquery,如上所示。我希望调用脚本并隐藏元素pane1。

标签: java javascript jquery selenium


【解决方案1】:

从 Selenium 调用 jQuery 函数的方式与调用任何其他函数的方式完全相同。但是,您的代码存在两个问题:

  1. 你有$function,你可能指的是$(function。如果您尝试按原样执行问题中的代码,您肯定会因此而出错。

  2. 好的,假设您解决了这个问题。现在你有一个$(function () {...}) 电话。这无害,但毫无意义,因为您本质上是在说“在页面完成初始加载后执行此功能”。如果您按照通常使用的方式使用 Selenium,它不会在页面完成初始加载之前将控制权返回给您,因此没有理由等待页面加载。

所以:

((JavascriptExecutor) driver).executeScript("$('pane1').hide(300);");

【讨论】:

  • 如果它是一个非常大的脚本,我想调用很多函数,我会怎么做?
  • 将大脚本传递给executeScript。我已经向它传递了相当大的脚本。我不知道脚本大小有任何硬性限制。但是,我很确定它不是为执行超大型代码库而设计的,所以如果超过一定大小 Selenium 会窒息,即使没有硬编码限制,我也不会感到惊讶。
  • 如果您能提供一个传递大脚本的示例,将不胜感激?谢谢
猜你喜欢
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 2019-11-13
  • 1970-01-01
  • 2014-06-14
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多