我需要一個可以點擊按鈕的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&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]');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&gift=mysterygift&timestamp=1285599906&ref=gift_accept_tab&key=78fcc7de3b36b8f9564262fab506893f%24%24ceK5RVRY61bZYhg8M-o-XQcyL%2CzHccEwEeuj4e-%21-dh0AD0A2AgyScd&signature=32db959ce43f8330cf8fd992fbd53a51&srcapp=FarmVille]">
如果名稱是唯一的,並且每個按鈕的值是同樣,爲什麼你需要這個「for」循環? – Pointy 2010-09-27 15:18:05
我剛剛從另一個正在工作的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
可能主要的問題是HTMLButtonElement DOM節點上沒有「click()」函數。 IE支持「click()」功能,但不支持Firefox。 (不知道Webkit瀏覽器。) – Pointy 2010-09-27 16:29:01