簡體   English   中英

首先設置Selenium的事件監聽器

[英]Set up event listener for Selenium before everything else

我是Selenium的新手,但是是資深JS開發人員,並且我試圖記錄頁面整個生命周期內某個元素(例如click )上觸發某個特定事件的次數。 有沒有辦法在頁面上的其他JS運行之前使用Selenium設置事件偵聽器?

我可以使用jQuery,但擔心在早先的.ready()以編程方式觸發click之前,無法保證對.ready()的調用已到位。 這是我現在得到的:

(function () {
    var eventLog = [];

    $(document).ready(function () {
        $('#target-element').on('click', trackEvent);
    });

    function trackEvent(e) {
        eventLog.push(e);
    }
})();

您是說該元素可能尚未呈現,並且您不想等待body onloadDOMContentLoaded嗎?

您可以及早啟動此偵聽器,並且只會pushpush送到您的數組以在#target-element上單擊

  $(document).on('click',function(e) {
       if(e.target.id==='target-element') {
         eventLog.push(e);
      }
    });


實際上,剛發布后就意識到可以使用on()方法提供的委托。 -這么短-

  $(document).on('click','#target-element',function(e) {
         eventLog.push(e);
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM