Codeception, WebDriver |如何悬停,然后单击悬停的位置

Posted

技术标签:

【中文标题】Codeception, WebDriver |如何悬停,然后单击悬停的位置【英文标题】:Codeception, WebDriver | How to hover, then click at a hovered location 【发布时间】:2016-08-18 22:17:37 【问题描述】:

我在验收测试中使用 WebDriver 和 Asserts 作为模块。

使用 WebDriver,我试图单击一个标签,该标签充当表单复选框的 javascript 锚点(实际复选框被隐藏,并且 ::before 字体元素用于表示复选框是否选中)。

这个标签中有一个链接,它位于元素的中心;我假设的位置是 click() 方法的目标。因此,我不能只在元素上单击(),因为它会单击链接而不是触发复选框。

我设想这个问题的解决方案是 moveMouseOver(),使用坐标参数将它移到一边,然后触发点击...但是 click() 不允许点击事件当前光标位置,而不是需要应用选择器,从而违背了我的目的。

有什么方法可以完成我在 Codeception 中当前 WebDriver 模块中尝试的内容吗?或者,有没有一种方法可以在没有我概述的过程的情况下完成对不均匀元素的点击定位?

感谢您提供的任何帮助。

【问题讨论】:

你能分享html代码或更好的链接到实际页面吗? 【参考方案1】:

我使用了一种解决方法:仅通过 JavaScript 使元素可见:

$I->executeJS("$('css_selector').css('display':'block');");

【讨论】:

以上是关于Codeception, WebDriver |如何悬停,然后单击悬停的位置的主要内容,如果未能解决你的问题,请参考以下文章

Codeception 无法点击它之前看到的元素

PhantomJS 无法访问自签名 HTTPS 页面 Codeception

Yii2中如何使用CodeCeption

Codeception:哪些测试组组合是可能的?

Symfony/Codeception 运行错误

Codeception 全堆栈的 PHP 测试框架