2012-04-02 26 views
-1

我試圖自動化具有JavaScript的Web應用程序。WWW :: Scripter JE - MouseEvent'不支持

我正在使用WWW :: Scripter。

點擊一個鏈接,我使用下面的代碼,但似乎不支持MouseEvent。

$wi->eval ('var theEvent = document.createEvent("MouseEvent");'); 
$wi->eval ('theEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);'); 
$wi->eval ('var element = document.getElementsByTagName("li")[3].getElementsByTagName("a")[0];'); 
$wi->eval ('element.dispatchEvent(theEvent);'); 

我們有其他方法可以實現嗎?

回答

0
use WWW::Scripter; 

$wi = new WWW::Scripter; 
$wi->use_plugin('JavaScript'); 

$wi->get('http://...'); 

$wi->follow_link(url => 
    $wi->eval(
    'document.getElementsByTagName("li")[3].getElementsByTagName("a")[0].href' 
) 
); 
+0

謝謝。這在一定程度上會有所幫助。 – rpg 2012-04-05 05:28:10

+0

您已發佈答案,將其刪除,然後在幾分鐘後發佈新的但類似的答案。如果你不喜歡他們,你可以編輯你的答案。 :)我們中的很多人仍然可以看到你所有的刪除答案。 – 2012-04-06 21:51:47

+0

@briandfoy - 這是恥辱 - 刪除的內容應該保持刪除 - 調整你的系統(除非你爲政府機密工作:) – 2012-04-06 22:25:01