目標
在 https://www.lecai.com/user/login/?from=head_nav 頁面中,找到 <span id="captcha_info"> 元素點擊觸發驗證碼顯示的對應 JS 代碼。
通用步驟(以 Chrome DevTools 為例)
- 打開開發者工具:F12 或右鍵「檢查」。
- 選中目標元素:Elements 面板按 Ctrl+F 搜
captcha_info,或右鍵頁面元素「檢查」定位到該 <span>。
- 查看事件監聽器:側邊欄選 Event Listeners,勾選
Ancestors 以顯示冒泡階段綁定在父級的監聽器。找到 click / mousedown 等事件。
- 跳轉到源碼:點擊監聽器右側的文件名:行號鏈接,直接在 Sources 面板打開對應 JS 文件並定位到綁定代碼。
- 處理壓縮/混淆代碼:點擊 Sources 面板左下角
{ } (Pretty Print) 格式化,便於閱讀。
- 動態斷點調試:在疑似處理函數打斷點,觸發點擊,觀察調用堆疊、變量值,確認邏輯。
進階技巧
- Event Listener Breakpoints:Sources → Event Listener Breakpoints → Mouse → click,自動在所有 click 處理器入口斷點。
- monitorEvents():Console 輸入
monitorEvents(document.getElementById('captcha_info'), 'click'),點擊時控制台輸出事件對象。
- 搜尋關鍵字:Sources 面板 Ctrl+Shift+F 全局搜
captcha、verify、captcha_info 等關鍵字,快速定位相關模塊。
注意事項
- 事件可能通過
addEventListener、onclick 屬性、jQuery .on()、React 合成事件等多種方式綁定,Event Listeners 面板均能顯示。
- 若代碼經過 Webpack/混淆,變量名不可讀,需結合 Source Map(如有)或動態調試推導邏輯。
- 跨域 iframe 內元素需在 iframe 上下文中檢查(DevTools 頂部下拉選擇 iframe)。
掌握上述工作流,即可在任何頁面快速定位指定元素的事件處理代碼。