2014-03-06 87 views
0

我有一些基本的自動化測試,在電子商務商店中運行CasperJS,但是在使用某種特定點擊方法時遇到問題。點擊是一個添加到購物車按鈕與onclick()事件,但是我嘗試我不能讓它與CasperJS一起工作。CasperJS單擊事件不起作用

我正在評估它是否有效,方法是檢查頁面上的div,只有當按鈕被點擊後(即產品已添加到購物車)纔會出現該div。我也強制導航到購物車頁面,並確認產品未添加。

的按鈕看起來是這樣的:

HTTP://..../ajax_cart/add/');「>添加到購物籃

的CasperJS單擊方法是這樣的: 這一點。點擊('button.btn-cart');

它與AJAX一起添加,所以我原本懷疑AJAX沒有時間添加,所以也嘗試加入wait(),但它沒有區別

這可能會議相關,AJAX相關或其他?

任何提示將不勝感激。

回答

1

我不確定this.click('button.btn-cart');將爲任何事情工作。您應該在腳本的頂部包含xpath變量。這是在casperjs的文檔中。

一旦你有了,使用chrome右鍵單擊該元素並複製xpath。

然後在casperjs,

casper.then(function() { 
    casper.click(x('paste_xpath')); 
}); 
+0

您好,我有類似的問題。在我的頁面上,有一個單選按鈕列表。當我更改單選按鈕(使用Chrome)時,會創建ajax調用並更新頁面。我複製並粘貼單選按鈕xpath,然後我調用Casper的單擊功能,然後製作截圖。在屏幕截圖中,我可以看到選中了單選按鈕,但屏幕未更新。有任何想法嗎? – MrD

+0

非常感謝,這對我有效。使用Capser's Click方法和CSS選擇器在網站的另一部分上工作,但不是我現在正在處理的部分,所以解決這個問題非常令人沮喪。我嘗試了XPath,它的功能就像一個魅力! – targnation