[英]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 onload
或DOMContentLoaded
嗎?
您可以及早啟動此偵聽器,並且只會push
其push
送到您的數組以在#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.