2013-10-05 24 views
0

我是新來的硒。 我想測試這個函數來點擊一個wepage中的隨機鏈接。我將它添加爲js用戶擴展。如何解決意外的異常:TypeError:x未定義。在Selenium IDE 2.4.0中?

Selenium.prototype.doClickRanLink = function() { 


var links = document.getElementsByTagName("a"); 
var randNum = Math.random(0,4); 
links[randNum].click(); 


}; 

加載罰款,並ClickRanLink顯示了在命令中,但是當我運行它下面的錯誤顯示出來,我不知道爲什麼作爲「鏈接」的定義。

[error] Unexpected Exception: TypeError: links is undefined. 

錯誤的線的#對應於 鏈接[randNum]。點擊();

任何想法,爲什麼它顯示錯誤和如何解決它?

感謝 PDTA:使用Selenium IDE 2.4.0 +火狐

回答

0

Math.random不帶任何參數,以便您randNum一些十進制數0和1之間

所以這行

links[randNum].click(); 

基本上就像

links[0.815484994].click(); 

由於沒有索引0.815484994,您將收到一個未定義的錯誤。

使用最小值最大值使用以下方法來獲得一個隨機數:

function rand(min, max) { 
    return Math.round(Math.random() * (max - min) + min); 
} 

,並使用像

var randIndex = rand(0,links.length-1); 
links[randIndex].click(); 
+0

您好,感謝您的回答。但我仍然有同樣的問題。 [error]意外的異常:TypeError:links [1]未定義。 – user1338101

+0

做一個'console.log(links);'在你的getElementsByTagName調用之後查看它是否返回了一個元素數組,如果它不是那麼它沒有找到任何元素 –

+0

嗨,它不返回一個數組。但是頁面中有鏈接。並確認了路徑,這是正確的。什麼可能是錯的? – user1338101

相關問題