首页 > 解决方案 > 鼠标在量角器中的元素上移动

问题描述

我想将鼠标悬停在一个元素上,然后单击它。下面是代码

 await browser.actions().mouseMove(elm, { x: 200, y: 200 }).perform();
 await browser.wait(EC.visibilityOF(elm2),10000);
 await elm2.click();

我也尝试过不使用偏移量,例如:

 await browser.actions().mouseMove(elm).click().perform();

但是,我无法获得悬停效果并单击我想要的元素,即本例中的 elm2。我的量角器版本是5.4.1

感谢您的帮助。

谢谢

标签: protractor

解决方案


我发现 protractor-test-helper 中的例程非常有用和健壮。这些(以及使用和安装说明)可以在github.com/hetznercloud/protractor-test-helper找到

所以在你的情况下,你会说:

import { click, hover} from '@hetznercloud/protractor-test-helper/dist';

然后

await hover(elm, 10000); //hover over item, waiting up to 10 seconds
await click(elm2, 10000, 3); //waits for elm2 to show up, up to 10 seconds, clicks on it, 3 retries

但是,如果您只是想查看他们的悬停实现代码以获得灵感(与您的没有偏移量和开头三行结构的代码并没有什么不同),它位于https://github.com/hetznercloud的第 55 行/protractor-test-helper/blob/master/dist/actions.js

我知道这并没有确切地告诉你如何改变你所拥有的,但我希望它至少能给你一种(或两种)前进的方式。


推荐阅读