javascript - 从 webdriver 覆盖一个 javascript 变量

标签 javascript jquery selenium webdriver

我不确定我的问题是否有任何解决方案,但不幸的是,我还没有找到任何关于它的文章或信息。

情况如下。我们有一个大量使用 jQuery 的网站,并且有一项服务每 5 秒或 10 秒刷新网站的一部分。由于这一半的时间,我从 WebDriver 收到了这个错误:

"Element not found in the cache - perhaps the page has changed since it was looked up"

根据 Internet,当 DOM 树在初始化 WebElement 和我想使用它执行(例如,单击事件)之间发生变化时出现此错误。

根据我们的开发人员的说法,我们的 jquery 解决方案有一个变量来控制页面是否刷新。所以,为了解决我的问题,我必须覆盖这个变量。我必须以 jQuery 能够理解它的方式覆盖这个变量——我的意思是在同一个实例中,如果这个定义在这个上下文中是正确的。

所以,请问是否可以?如果是这样,我想问一个小例子。

提前致谢!

安德拉斯

最佳答案

我只能同意 Aleh。

使用 JavaScriptExecutor 是处理此类问题的唯一方法。

我遇到了 jQuery jNice 库的问题,找不到任何其他解决方案。

这是一个用 Java 填充文本字段的示例:

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("document.getElementsByName('<field_name_gets_here>')[0].value='" + your_value + "'");

关于javascript - 从 webdriver 覆盖一个 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299356/

相关文章:

javascript - 带有 Selenium 的 Python : Drag and Drop from file system to webdriver?

php - 为什么我的 AJAX 调用在 Internet Explorer 中编辑返回的文本?

javascript - 使用 javascript 将数据库中的 php 变量与表单字段 onchange 进行比较,并相应地显示/隐藏跨度

javascript - Ajax post to Asmx 中缺少参数

javascript - 如何借助 jQuery 创建回调优先级队列?

c# - Selenium Webdriver - 如何为 Firefox 设置代理到 "auto-detect"

javascript - Jquery 链接禁用

逐渐放大图像的Javascript幻灯片

javascript - 如何获取UCWA和Skype Web SDK的授权?

python - 如何使 Selenium WebDriver 不等待整个页面加载