javascript - 捕获脚本生成的 mailto URI

标签 javascript events selenium automated-tests mailto

总结:

我正在对 Web 应用程序(使用 Selenium)进行一些自动化测试,并且我正在 try catch 在 onclick 事件期间由 javascript 生成的 mailto:link(特别是其查询参数之一)。目前我能想到的唯一方法是将逻辑复制到我的测试函数中。这并不理想,因为这意味着如果它在 webapp 中发生变化,我将不得不更新测试中的逻辑。我的问题是:你能想到更好的方法吗?

详细信息:

Web 应用程序的工作方式如下:

  • 监听 div 上的点击事件
  • 如果事件的目标是“电子邮件按钮”,则根据当前状态生成一个 mailto: URI
  • 在 JavaScript 中设置 window.location = [generated URI]

不幸的是,如您所见,此 URI 生成是 onclick 事件的结果,只是将 window.location 设置为该 URI,因此它没有将其设置为 anchor 上的 href 属性(或任何 anchor 上的任何属性) other) 我可以查询 DOM 的元素。

我也没有运气找到一个事件,该事件是由于 window.location 被设置为 mailto: URI 可能将 URI 作为其属性之一而触发的。 .我可能忘记了一个吗?

有什么想法吗?

最佳答案

您是否尝试过使用 storeEval 手动调用 onclick 上的函数并分析返回值?

关于javascript - 捕获脚本生成的 mailto URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218139/

相关文章:

java - Selenium 选择选项 NoSuchElementException

file - 如何使用 Selenium 获取上次下载的文件

javascript - 如何使用 jQuery 删除具有多个相同数据值的 div?

javascript - 连续循环数组以创建水平滚动条

javascript - Canvas 上的 FabricJS AngularJS 事件

python - 如何将系统音频抓取到python?

javascript - FileReader 返回未定义

javascript - 为什么 Chrome 扩展图像在添加到 DOM 时显示为损坏?

java - 在拖动 JSplitPane 分隔线时如何避免(或消耗)鼠标事件?

java - 我想验证网站的菜单栏选项卡而不是单击它们