2010-09-27 58 views
0

我需要一個可以點擊按鈕的javascript。事情是,頁面上有100多個按鈕都具有相同的值。這個名字是獨一無二的,但相當長。
元素的全名是一樣的東西:點擊一個帶有長URL的按鈕,帶有javascript的名字bookmarklet

actions[http://apps.facebook.com/frontierville/giftaccept.php?next=giftaccept.php&senderId=1%3A1325206719&gh=3a8bfdace76051752a9127d1f9b43872&gift=nails&timestamp=1285598414&ref=tab&key=29b15e06ed9d7c00a8870c955ab938cf%24%24cfH1PUUZ%217bZYhg8M-o-XQc%218HHRMcvvyhuf4d%21.64qEvlQe&src=request&aff=gift&crt=nails&signature=6dd3fa03fe88f98b6dcab4faf4c7da94] 

每個按鈕的值是接受和播放。

所以。有沒有辦法讓它點擊名稱中具有特定URL的按鈕?

我嘗試這樣做:

javascript:(function(){var b=document.getElementsByName('actions[http://apps.facebook.com/frontierville/giftaccept.php?next=giftaccept.php&amp;senderId=1%3A1325206719&amp;gh=3a8bfdace76051752a9127d1f9b43872&amp;gift=nails&amp;timestamp=1285598414&amp;ref=tab&amp;key=29b15e06ed9d7c00a8870c955ab938cf%24%24cfH1PUUZ%217bZYhg8M-o-XQc%218HHRMcvvyhuf4d%21.64qEvlQe&amp;src=request&amp;aff=gift&amp;crt=nails&amp;signature=6dd3fa03fe88f98b6dcab4faf4c7da94]');for(var j=0;j<b.length;j++){if(b[j].value.match(/^Accept and Play/i)){b[j].click();break;}}})() 

,並沒有奏效。有什麼建議麼?

編輯: 如果有幫助,這裏是一個按鈕的信息來源:

<input value="Accept and Play" type="submit" name="actions[http://apps.facebook.com/onthefarm/giftaccept.php?senderId=1259413693&amp;gift=mysterygift&amp;timestamp=1285599906&amp;ref=gift_accept_tab&amp;key=78fcc7de3b36b8f9564262fab506893f%24%24ceK5RVRY61bZYhg8M-o-XQcyL%2CzHccEwEeuj4e-%21-dh0AD0A2AgyScd&amp;signature=32db959ce43f8330cf8fd992fbd53a51&amp;srcapp=FarmVille]"> 
+0

如果名稱是唯一的,並且每個按鈕的值是同樣,爲什麼你需要這個「for」循環? – Pointy 2010-09-27 15:18:05

+0

我剛剛從另一個正在工作的JS中複製。我也試過這樣: javascript:(function(){var b; b = document.getElemenstByName('actions [http://apps.facebook.com/onthefarm/sendcredits.php?feature=InventoryCellar & receiverId = 100001117861964 & TS = 1285591269 &鍵= 1d974ff903e372b6bed59abe56d9098b%24%24ccF%28NVPT46pzT%29YULNW8T_c%21cLP%2CyM%21qSxQoVNhngzS2tJ9A%28naHvJmqnPYH%28p0zoksj]');如果(b.length個> 0){b [0]。點擊();}} )() 並且沒有工作,所以即使在for循環中它不工作。 – Seatbelt99 2010-09-27 15:31:33

+0

可能主要的問題是HTMLButtonElement DOM節點上沒有「click()」函數。 IE支持「click()」功能,但不支持Firefox。 (不知道Webkit瀏覽器。) – Pointy 2010-09-27 16:29:01

回答

0

你的腳本對我的作品。

你確定,你在腳本中使用了確切的名字嗎?

頁面中是否有其他元素共享相同的名稱?如果確實如此:您最好也檢查這些元素的類型。如果他們不是單擊() - 元素(例如隱藏 - 輸入或文本輸入,這將導致異常,因此您的循環將停止)

+0

是的,應該沒有其他具有完全相同名稱的元素。據我所知它是點擊() - 能夠。他們不是隱藏或輸入或任何東西。手動操作時,我必須點擊它們才能提交。 – Seatbelt99 2010-09-28 02:33:32

+0

如果b.length大於零,你檢查過了嗎? – 2010-09-28 03:13:28

+0

我用JavaScript不是很好。我主要使用其他人的東西並編輯它。我正在試圖理解如何做事的概念,但它的進展緩慢。我不確定是否可以做到這一點,如果沒有,請刪除,但如果有人能夠進入AIM並幫助我,我可以給他們5美元(貝寶),如果我們能夠得到它的工作。我的AIM是ChairRestraint66。謝謝! – Seatbelt99 2010-09-28 14:56:30

相關問題