gpt4 book ai didi

selenium-webdriver - 在 Selenium 和 IEx 中触发更改事件?

转载 作者:行者123 更新时间:2023-12-03 23:40:00 26 4
gpt4 key购买 nike

我才刚刚开始使用 Selenium,所以我仍在全神贯注于所有事件部件。我已经启动并运行了我的第一个测试套件,但我终生无法让 jQuery 事件监听器在 IE 中触发。

这在动态 AJAX 下拉列表中尤其成问题,例如 $('#country').live('change',showStates)选择 -> id=国家 | label=美国

selenium 驱动程序触发事件以响应所有其他浏览器的测试脚本,但我尝试过的任何事情都不会导致或强制触发 change 事件。我已经尝试使用我能在 SO 上找到的所有记录方法,包括:

这些命令都不会触发 IE9、8(模拟)或 7(模拟)中的事件。 FWIW 目前还不清楚这些是否真的会导致事件在其他浏览器中触发,因为其他浏览器会在没有额外调用的情况下触发 change 事件。我在 Windows 7 上运行独立的 selenium jar 2.33。

如何使用 selenium 在 IE 中触发更改事件?

最佳答案

根据我的经验,直接触发 javascript/jQuery 并不是最安全的处理方式。而是尝试使用 UI 交互来模拟用户。例如,要触发“country.change()”事件,只需使用 Selenium 更改国家字段中的国家(您可能需要跳出该字段)。我相信这是预期用途。

我发现一些下拉列表可能会很痛苦。我会在您的下拉列表中尝试以下一组操作:

  1. 获取当前选择的选项(在 DDL 的最顶层元素上调用 getText)
  2. 单击 DDL(以显示选项
  3. 获取显示的选项列表
  4. 发现当前选项与预期选项之间的距离
  5. 发送适当数量的 DOWN 或 UP 键(取决于方向),然后是 ENTER 或 TAB 键

在使用第三方 UI 包时,我不得不遵循这种过程,该包将 DDL 的格式与它处理 DDL 的操作分开。这意味着当 Selenium 与元素交互时,它用于预期效果不会发生,因为它们正在其他地方由 javascript 处理,而在元素 Selenium 具有句柄的上下文中没有。发送 key 模仿用户操作并强制 javascript 自行执行。让我知道这是否不清楚以及它是否有效。

关于selenium-webdriver - 在 Selenium 和 IEx 中触发更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16907512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com