我正在嘗試使用FF Selenium IDE插件測試頁面。Selenium IDE - 未觸發JQuery onclick處理程序
有類似下面的菜單結構..
<ul class="parent">
<li class="child"><span><a href="something.html">link text</a></span></li>
<li class="child"><span><a href="somethingelse.html">other text</a></span></li>
<ul>
鋰元件具有綁定到這些懸停事件。這些懸停事件在實際的鏈接標籤上註冊一個點擊事件。 (我已經去掉了一些JavaScript代碼爲了簡化)
var menu = $('ul.parent');
$("> li.child", menu).hover(function() {
$(this).find('> a').click(function() {
$(this).parent().addClass('active-trail');
return false;
});
}, function() {});
如果使用Selenium我點擊這些鏈接之一,那麼我希望處理程序被調用。它不是,點擊被簡單地執行(並且鏈接被跟隨,而不是被返回)。
我試過(閱讀其他答案後)mouseUp和mouseDown。我也嘗試使用fireEvent首先懸停在李(激活懸停事件),然後另一個fireEvent點擊錨點,但也沒有工作。
所以任何幫助將不勝感激。只是使用Selenium觸發jQuery提供的點擊處理程序的基本演示可能足以讓我看到我!
謝謝, 帕特里克。
是啊,當然使用「懸停」和「點擊」作爲處理程序。很高興知道我正在尋找正確的領域! – 2011-04-14 20:46:55
這可能與Selenium在嘗試點擊之前沒有等待懸停執行有關,請嘗試在兩個命令之間添加一個等待。 – Tnem 2011-04-14 20:50:46
我試着用暫停,但沒有什麼區別。有趣的是,如果我加載頁面,將鼠標移動到元素上(有效地手動觸發懸停),然後運行單擊事件 - 然後出現菜單。 – 2011-04-18 02:54:01