为什么我必须使用 watir-webdriver 和 firefox 来睡觉或等待?

2024-04-04

好吧,我想对 watir-webdriver wait for page load> 这个主题发表评论,但由于我有 1 个代表,所以我不能。

我正在将 watir 脚本升级到 watir-webdriver,我在 Firefox 上运行的第一个测试结果如下:

Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"tag name","selector":"body"}

当我所做的就是登录我的应用程序(运行良好),单击“构建信息”链接,然后执行以下操作:

@browser.text

这种情况一直在发生。读完这里后,我在点击之后和 @browser.text 之前进行了睡眠,它起作用了。我的结论显然是 Firefox 驱动程序不会等到页面加载后再尝试

-> POST session/8607aaa2-d72d-448a-85e1-3f96a1766da1/element
{"value":"body","using":"tag name"}

所以我的问题是这是一个孤立的事件(调用@browser.body,这不是一个完全典型的调用)还是我必须使用等待?如果我不能指望驱动程序等到浏览器处于就绪状态,那么 watir 的全部魅力似乎就消失了。另外,是否有一个 dev google 小组或类似的 watir-webdriver 小组?我有预感我会看到越来越多的问题(其中几个与 IE9 相关)。我可能还会在阿利斯特的博客上询问(顺便说一句,这很不错)。


Watir-WebDriver 应该等到页面准备好,但问题是太多内容是动态生成的,实际上并没有一个明确的准备好定义。

这就是等待辅助方法的亮点:http://watirwebdriver.com/waiting/ http://watirwebdriver.com/waiting/

找到一个您知道您期望的元素,然后使用类似以下内容的内容:

require 'watir-webdriver'
b = Watir::Browser.start 'bit.ly/watir-webdriver-demo'
b.select_list(:id => 'entry_1').wait_until_present

Update:

我认为你的问题与本机事件相关。尝试禁用本机事件

profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = false
b = Watir::Browser.new WEB_DRIVER, :profile => profile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我必须使用 watir-webdriver 和 firefox 来睡觉或等待? 的相关文章

随机推荐

  • 为什么 std::search 需要前向迭代

    我的问题与下面的线程相同 我正在努力理解给出的答案 或者更确切地说 我的代码不应该工作 因为它只使用输入迭代器 但我的 func 似乎工作并且行为与 std search 相同 所以我不知所措 不愿意在没有正确理解的情况下继续前进 也许如果
  • Ruby 中 <

    我正在学习Ruby 在我使用的书中 有这样的示例代码 restaurant Restaurant new restaurant name Mediterrano restaurant description lt
  • 为什么我的 g++ 和 gcc 版本没有升级?

    我在 Mac 上 我将 OSx 更新到 Yosemite 我将 xcode 更新到版本 6 我下载了命令行工具 尽管如此 每当我输入 g version 时 我都会得到 g version couldn t understand kern
  • 调用 Activity 加载方法,Android [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在活动加载后立即调用一个方法 该方法是公共无效的 任何帮助 将不胜感激 您可以使用以下方法 您可以在活动启动时在其中任何一个方法之间调
  • aws s3 ls 给出错误 botocore.utils.BadIMDSRequestError:

    最近我按照aws官方网站的文档在Linux机器上安装了aws cli 第一次 我能够毫无问题地运行 s3 命 令 作为开发的一部分 我卸载了 aws cli 并重新安装了它 我收到错误 botocore utils BadIMDSReque
  • 在 IPython 中导入时的最佳实践

    我正在编写一个 py 文件 该文件将在第一个单元格中的一些 IPython 会话开始时定期导入 但也将从其他非交互式会话导入 因为它包含可以在非交互式环境中批量运行的函数 交互模式 它基本上是一个包含许多非常常见的类和函数的模块 因为我使用
  • Microsoft Reporting v.10 加载问题

    我正在尝试在我的 vs studio 网站中引用 microsoft reporting v 10 0 0 0 由于某种原因 它无法实现这一点 因为它总是给我一个编译错误 表明它无法加载类型 错误 2625 无法从程序集 Microsoft
  • 在 iPhone 应用程序中创建下拉列表

    当我单击带有箭头符号的按钮时 可用项目列表应显示为列表 谁能帮助我编写为 iPhone 应用程序开发此代码的代码 UIPickerView 是正确的控件 是 iOS 用户期望的控件 也是 Apple iOS 人机界面指南指定的控件 即使在
  • 具有伴生对象的类与同名的类和对象有什么区别?

    Scala 类的 伴生对象 可以被视为具有与该类相同的完全限定名称的单例对象 即相同的名称 在同一包中 它们用于保存类的所有实例共有的实用函数 作为 Java 的替代品static方法 然而 在文档和问题的不同地方 它说伴生对象必须在同一编
  • 如何检测同一键盘按键仅按下一次

    我正在设计一个键盘类 它只能检测一次键盘按键 但我仍然不知道如何做到这一点 我的目标是仅检查并在持续按下或保持按住同一键时仅执行一次操作 并且当同时按下 2 个操作键时不执行任何操作 例如 当我持续按住 A 键时 操作 1 只会执行一次 然
  • OpenCv错误无法通过视频采集打开相机

    我通过 opencv 使用相机 重新启动后突然运行我的代码 它显示以下错误 WARN 0 global io opencv modules videoio src cap v4l cpp 802 open VIDEOIO ERROR V4L
  • 将参考 SVG 图像嵌入 HTML 文件

    我有一个项目 我想将简单的图形背景放入表格单元格中 背景图像和一个小的 svg 文件效果很好 但我真的很想将源代码全部保存在一个文件中 也就是说 我希望能够在 HEAD 中定义图像 并在内联 STYLE css 中引用它 我已经尝试了 sv
  • JAXBElement.getValue() 返回 null

    我的 Pojo 类中有一对多映射 一家店有一家分店 一个分店有很多家店铺 这是商店代码 XmlAccessorType XmlAccessType FIELD XmlRootElement name Shop public class Sh
  • (Chez) 用于隐藏 lambda 的方案宏

    我想编写一个宏来创建速记语法来隐藏更详细的 lambda 表达式 但我很难理解如何编写宏 我意识到这是反对使用它们的一个论据 给出这个例子 define alist example x 1 2 3 y 4 5 6 z 7 8 9 defin
  • 带开始/暂停和重置按钮的倒计时器

    我想在 React JS 中创建一个倒计时器 其中包含 开始 暂停 和 重置 按钮 以便操作计时器 作为 React 和 JS 的初学者开发人员 我创建了一个状态变量 secondsElapsed 以便输入计时器的时间 以秒为单位 star
  • CSS3 在 ios 上的过渡缓慢/不工作

    我正在尝试在我正在制作的响应式网站上开始使用一些 CSS3 转换 并且在桌面 Chrome 和 Android 上的 Chrome 上一切正常 但在 Chrome 和 Safari 的 iOS 设备上无法正常工作 例如 我用于菜单的 CSS
  • 在 SwiftUI TabView 中禁用滑动手势

    试图实施一个TabView with PageTabView风格SwiftUI 其中导航仅以编程方式完成 并且所有滑动手势均被禁用 这个解决方案 https stackoverflow com questions 63168014 swif
  • 带背景颜色的盒装标签

    如何绘制boxed label具有特定的background颜色 如图例框 你的意思是这样的吗 LABEL label in a box set obj 10 rect at 0 0 size char strlen LABEL char
  • 获得无重力加速度

    我是安卓开发新手 我想获得手机的实际加速度 我找到了一个获得加速度的代码 但它给出了重力加速度 请任何人帮助我找到一种在没有重力的情况下获得实际加速度的方法 这是我找到的代码 请帮我解决这个代码 谢谢 package com SensorT
  • 为什么我必须使用 watir-webdriver 和 firefox 来睡觉或等待?

    好吧 我想对 watir webdriver wait for page load gt 这个主题发表评论 但由于我有 1 个代表 所以我不能 我正在将 watir 脚本升级到 watir webdriver 我在 Firefox 上运行的