2016-07-29 68 views
0

我正在嘗試使用CasperJS自動化一個進程,這需要點擊遠程Div中的一個按鈕。我的主頁只提到遠程div,並且按鈕存在於遠程div內。單擊遠程Div |上的按鈕CasperJS

主頁:

<div id= "main_container"></div> 

遠程DIV:

<div id="main_container"> 
    <div id="agenda_items"> 
     <button type="button">Click Me!</button> 
    </div> 
</div> 

我試圖點擊Click我從從主頁運行casperjs腳本按鈕。我能夠做到這一點,當頁面使用iframe通過使用this.switchToChildFrame/this.withFrame。有沒有類似Divs的方式?如果CasperJS不可能,那麼還有其他的可能嗎?請指教。由於

+0

你不需要「切換」到div。只需確定一個合適的CSS選擇器或與您嘗試點擊的按鈕相匹配的XPath表達式即可。然後你可以使用'casper.click'。如果您遇到問題,請編輯您的問題以包含您的代碼。 –

+0

你能否讓它成爲答案,以便我可以批准它:)謝謝。 – Krishna468

+0

您可以發佈自己的問題的答案。 –

回答

0

你並不需要 「開關」 div的,clickLabel方法。只需確定一個合適的CSS選擇器或與您嘗試點擊的按鈕相匹配的XPath表達式即可。然後你可以使用casper.click

0

如果我理解你的問題正確,那麼你有兩種選擇:

  1. 使用jQuery的評估方法裏面點擊你指的是按鈕。

    也許是這樣的:

    casper.evaluate(function() { 
        $('button:contains("Click Me")').click(); 
    } 
    
  2. 使用的是內置於卡斯帕

    casper.then(function() { 
        this.clickLabel('Click Me!', button); 
    }); 
    
+0

這不起作用,因爲我想單擊的按鈕不在主頁面中,而是在其他頁面中。 casperjs不能找到按鈕。 – Krishna468

+1

而且您無法導航到該頁面?你有一個示例URL? – tcasey