2011-10-04 39 views
-2

希望得到您的幫助。由網站更新破解的Greasemonkey autoclick腳本

我對Firefox的腳本,autoclicks我當一個作業進入工作網站上的鏈接的autoclick的Greasemonkey腳本是這樣的:

var BEEP_URL = 'file:///C:/Users/Home/beep.html'; //local url to beep.html for  example 'file:///C:/deploy/html/beep.html' 
var REFRESH_DELAY = 8; // in seconds 
var CLICK_DELAY = 0; // in seconds 
var LENGTH_MIN = 15 // min length of audio in minutes 
var LENGTH_MAX = 600 // max length of audio in minutes 

function init() { 
var refreshTimer = window.setTimeout(function() { 
    location.reload(); 
}, REFRESH_DELAY * 1000); 

if(!$('a:contains(Read now)').length){ 
    href = false; 
    $('a:contains(Start)').each(function() { 
     time = parseInt($(this).parents('td').nextAll('td').contents('small').html()); 
     if (!href && time >= LENGTH_MIN && time <= LENGTH_MAX) { 
      GM_openInTab(BEEP_URL); 
      href = this.href; 
      clearTimeout(refreshTimer); 
      window.setTimeout(function() { 
       top.location.href = href; 
      }, CLICK_DELAY * 1000); 
     } 
    }) 
} 
} 

if (window.addEventListener) { 
window.addEventListener('load', init, false); 
} else { 
document.attachEvent('onload', init); 
} 

網站上的頁面的重要位我在看起來像這樣工作:

<tr> 
<td><a title = 'Job'>Job</a></td> 

<td>4</td> 

<td><i>Group</i></td> 

<td>3/10/2011</td> 

<td><a href=http://www.site.com>Start</a></td> 

<td><a href='/sound/job_sound.mp3' ><img border=0 src=/images/audio.gif title='79 min uploaded 3/10/2011 7:39:31 AM' ></a><br /><small>80 min <br />7:39:31 AM</small></TD> 

<td>&nbsp;</td> 
</tr> 

正如你所看到的,腳本刷新頁面,如果作業與設置在該分鐘的鏈接「開始」和適量的LENGTH_MINLENGTH_MAX變量3210標記在表格中(第二個爲td單元格),然後腳本將點擊'開始'鏈接。

然而,最近該網站已經改變了頁面的結構略,以便它現在看起來是這樣的:

<tr> 
<td><a title = 'Job'>Job</a></td> 

<td>4</td> 

<td><i>Group</i></td> 

<td>3/10/2011</td> 

<td><a href=http://www.site.com>Start</a></td> 

<td><small>Audio 1: </small><a href='/sound/job_sound.mp3' ><img border=0 src=/images/audio.gif title='Audio 1: 39 min uploaded 10/4/2011 7:13:06 AM' alt='Audio 1 39 min uploaded 10/4/2011 7:13:06 AM'></a><small>40 min 7:13:06 AM</small><BR><small>Audio 2: </small><a href='/audio/job_sound2.mp3' ><img border=0 src=/images/audio.gif title='Audio 2: 40 min uploaded 10/4/2011 7:15:19 AM' alt='Audio 2 40 min uploaded 10/4/2011 7:15:19 AM'></a><small>41 min 7:15:19 AM</small><br>&nbsp;<br></TD> 

<td>&nbsp;</td> 
</tr> 

正如你所看到的,位的LENGTH_MINLENGTH_MAX變量被稱爲有(至少,這是我認爲問題所在),現在腳本不再工作了。現在在頁面上顯示兩個或更多音頻文件,並將時間插入small標記中。有什麼你可以在那裏看到,我可以在腳本中更改它以使其與本頁面一起工作?看起來好像被包裝在small標籤中的頁面中的數據調用,並且該網站已經改變了如何佈置該表的部分導致腳本問題。我不確定該腳本中需要調整什麼,才能點擊「開始」鏈接。

非常感謝您的幫助。非常感謝。

回答

0

修復這個問題的最小變化可能是用.find('small').eq(1)替換.contents('small')(其中,據我所知,從the docs可能不會做你的想法)。這可能不是一個非常可靠的解決方案(即,如果文檔結構有更多更改,它可能會在未來再次崩潰),但很難說如果不知道更多細節,可能會更好。

+0

Ilmari!這似乎是工作:)我只是要測試它多一點,但這似乎真的工作!給我第二個... – waterprism

+0

好的,哇,我認真地認爲它會起作用。我還沒有在網站上對它進行測試,只是本地的,但它在本地工作。對此,我真的非常感激。好東西。真的很棒的東西。真誠感謝您的幫助。 – waterprism