2011-04-11 174 views
1

所以我有這樣的代碼按鈕:自動化一個JavaScript按鈕點擊

<div style="text-indent: 0pt; visibility: inherit;" id="button5061"> 
    <a title="Continue" href="javascript:if(%20button5061.hasOnUp%20)%20button5061.onUp()" name="button5061anc"> 
     <img width="82" height="25" border="0" style="cursor: pointer;" alt="Continue" src="images/continueoff.gif" name="button5061Img"> 
    </a> 
</div> 

,我需要使用javascript點擊它。現在我使用的是Firefox的擴展程序Chickenfoot,它允許我用JavaScript解釋器編寫一些自定義命令來編寫腳本。

http://groups.csail.mit.edu/uid/chickenfoot/api.html

我曾嘗試使用XPath選擇它(// DIV/A [@標題= '繼續']/..),它發現它,但是當我點擊()它沒有任何反應。 這裏有一些我已經試過的東西:

click(find(new XPath("//img[@alt='Continue']/.."))) 
click(find(new XPath("//img[@alt='Continue']/../.."))) 
click("continue") 
click("Continue") 
click("images/continueoff.gif") 
click("continueoff.gif") 
click(find("Continue")) 
click(find("Continue").element) 
click(find("images/continueoff.gif")) 

我知道這是一個相當具體的quesiton但什麼嘗試將不勝感激任何想法。

回答

3

如果你想模仿就可以了用戶點擊:

您可以模擬這樣的點擊:document.getElementById('theSubmitButton').click();

下面是雅的例子:http://jsfiddle.net/gasWZ/1/

如果這不是你'試圖去做,你能解釋一下嗎?

+0

不幸的是在我的特定情況下該按鈕的ID變化我想自動化網頁自動生成。如果有方法通過它的標題或圖像的alt標記來選擇按鈕,這可能會有效,但我無法找到任何getElementByAttribute或類似的操作。 – MadMod 2011-04-11 19:17:55

+0

嗯,我不知道你會怎麼做。有一些屬性,該按鈕將永遠有? – penguinrob 2011-04-11 19:21:16

+0

'

' 我替換了下劃線更改的部分。我試着用你的jsfiddle文檔中的document.getElementById('button5061')。getElementsByTagName('a')[0] .click()來代替按鈕來選擇它,但沒有任何反應。 – MadMod 2011-04-11 19:27:30

2

將錨點對象傳遞給函數並計算name屬性不會有效嗎?

  1. 集href屬性#
  2. 通話功能,並通過與obj

<div style="text-indent: 0pt; visibility: inherit;" id="button____"> <a title="Continue" href="#" name="button____anc"> <img width="82" height="25" border="0" style="cursor: pointer;" alt="Continue" src="images/continueoff.gif" name="button____Img"> </a> </div> 
0

HTML:

<div> 
    <a href="#" onclick="alert('ok')"> 
     <img src=""> 
    </a> 
</div> 

的javascript:

var xPathRes = document.evaluate ('//div[1]/a[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); 
xPathRes.singleNodeValue.click(); 

的jsfiddle:

https://jsfiddle.net/7fm89aqd/