如何在Selenium IDE中使用特定的clientX和clientY参数值触发mouseover事件?

时间:2016-07-19 22:26:17

标签: firefox selenium-ide

我正在尝试编写一个测试,在Selenium IDE 2.9.1(Firefox 45)中将一些文本输入Froala JS editor实例。我无法确定为此事件指定clientXclientY参数的任何方法,显然Froala代码依赖于使编辑器正常运行。

如果我使用Selenium IDE' mouseOver命令,则无法指定这些坐标(它没有相应的mouseOverAt命令,就像其他一些鼠标事件那样)。使用fireEvent命令,mouseover作为值,我无法为该原生JS事件指定任何参数。

如何在Selenium IDE中使用这些坐标向特定元素发送mouseOver事件?

1 个答案:

答案 0 :(得分:0)

据我所知,使用javascript指定鼠标坐标没有好办法。由于Selenium IDE基于Javascript,因此很可能无法为特定坐标设置鼠标悬停。至少这就是我的想法。

但是无论如何都有改变Froala元素中文本的方法:

open    | https://www.froala.com/wysiwyg-editor
getEval | window.document.evaluate( "//*[@id='froala-editor']//div[@class='fr-element fr-view']//h1",window.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue.innerHTML='CROCODILE!!! ARRR!!!'

看起来相当复杂,但添加文字会更复杂。

open    | https://www.froala.com/wysiwyg-editor
getEval | var addedH1 = window.document.createElement("h1"); addedH1.innerHTML = 'Added text'; window.document.evaluate( "//*[@id='froala-editor']//div[@class='fr-element fr-view']//h1/..",window.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue.appendChild(addedH1);

这是我建议的唯一方法,希望它会有所帮助。