2011-02-18 54 views
3

有没有人成功让Selenium发出鼠标点击与输入无关的元素,即纯文本?我尝试过使用click()和click_at()方法,以及fire_event(locator,event),其中'event'是'onclick',或者使用'onmousedown'和'onmouseup'事件的组合。我还尝试了一个'onmouseover'事件来处理这些事件。在我的应用程序中,单击此“纯文本”会触发flash.swf例程的调用。谢谢。使用Selenium在非输入或非控制元素上点击

+0

你可以发布你试图点击的HTML的一部分吗? – 2011-02-19 14:10:41

回答

0

您是否尝试过修改Mouse Listener?如果您使用Java扩展Selenium,here是一个快速教程。

+0

在这种情况下,这不起作用 - Mouse Listeners适用于AWT/Swing应用程序 – 2011-02-19 14:11:23

0

你试过fire_event(locator,'click')而不是'onclick'吗?

0

您是否尝试过调整火灾事件?正如你所提到的,它应该像//p[contains(text(),'yourtext')]这样的纯文本定位器。尝试一次。

0

如果您使用的是Firefox 31.6.0 ESR(不是更高版本),或者您使用的是Chrome,则原生.click()事件应该可以正常工作。请记住,对于任何物理鼠标点击不适用于您的事件(无论出于何种原因),您仍然可以调用JavascriptExecutor来单击元素(这被称为合成非本地Selenium事件)。