2014-11-14 136 views
0

我在寫一個Greasemonkey腳本,可以自動執行網站上的任務。我需要填寫一個表格,然後按下按鈕,就像我手動完成的那樣。到目前爲止,無論我嘗試什麼,我都無法按下按鈕。 這是按鈕的代碼:以編程方式按下Sencha觸摸按鈕的Greasemonkey腳本

<a class="x-button-normal x-button x-iconalign-left x-layout-box-item Recruit x-last x-  button-pressed" id="ext-button-8" style="-webkit-box-flex: 1;"> 
<span class="x-badge" style="display: none;"></span> 
<span class="x-button-icon" style="background-image: url(https://d38957szc5yx03.cloudfront.net/s/r/mH8qUaabmHUogiiMhHvU1A.png);" id="ext-element-53"></span> 
<span class="x-button-label" id="ext-element-52">Recruit</span> 
</a> 

,這些都是一些我試過的東西,沒有成功:

$('ext-button-8').trigger('click'); 
$('ext-button-8').trigger('tap'); 
document.getElementById('#ext-button-8').click(); 
Ext.query('#ext-button-8').dom.click(); 
Ext.get('ext-button-8').dom.click(); 

在這一點上,無論是我完全失去了一些東西或者我需要觸發一個不同的事件來激活按鈕。

+0

只是從複製粘貼錯誤,我做到了正確的方式,我會編輯錯誤的帖子。 – 2014-11-14 18:01:27

+0

你試過var btn = Ext.Viewport.down('。button [id = ext-button-8]'); btn.fireEvent('tap',btn); – Dinkheller 2014-11-15 11:40:01

回答

0

最後,整個問題是,按鈕不會對「點擊」事件做出反應,而是對「點按」事件做出反應。下面的代碼工作:

Ext.get('ext-button-8').fireEvent('tap'); 

它大概可以在普通的JavaScript做太多,但發射的觸摸事件是一個比較複雜的方式。