0

私はセレンが初めてです。この機能をテストして、ウェブページのランダムなリンクをクリックしようとしています。js ユーザー拡張機能として追加しました。

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. 

エラーの行番号は、links[randNum].click(); に対応します。

なぜそのエラーが表示されるのか、それを修正する方法はありますか?

pdta に感謝: Selenium IDE 2.4.0 + firefox を使用

4

1 に答える 1

0

Math.randomは引数を取らないので、randNum 0 から 1 の間の 10 進数です

だからこの行

links[randNum].click();

基本的には

links[0.815484994].click();

インデックス 0.815484994 がないため、未定義のエラーが発生します。

min max を使用して乱数を取得するには、次を使用します。

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

のように使用します

var randIndex = rand(0,links.length-1);
links[randIndex].click();
于 2013-10-05T07:47:28.837 に答える