1

Webページのリンクの総数をカウントするコードを記述しました。私はそれのセレンでJavascriptExecutorを使用しました。しかし、問題は、SeleniumでJava Scriptコマンドの総数とブラウザコンソールで同じ数になっています。ここにテストの詳細があります:Seleniumとブラウザ開発ツールを使用してWebページの「リンク総数」の差を取得する

テスト中のウェブサイト:https://www.ebay.com/ テスト:Ebayのホームページの総リンク数。

セレンコードと結果:

WebDriver driver = new ChromeDriver(); 
    driver.get("https://www.ebay.com/"); 

    driver.manage().timeouts().implicitlyWait(20l, TimeUnit.SECONDS); 

    JavascriptExecutor js = (JavascriptExecutor)driver; 
    System.out.println(js.executeScript(" return document.links.length")); 

結果:422

しかし、私は、ブラウザのコンソールで同じ実行したとき、私は私がここでの違いを理解することができません440 enter image description here

を取得しています。誰かがあなたがJavaScriptコマンドを実行しているブラウザのコンソール上で言及していないとして、あなたの質問に答えるためにかなり厳しいだろう、私は

+1

コンテンツは動的で変化していますが、負荷ごとにまったく同じページではありません。 – lauda

答えて

0

を理解する助けてください:

document.links.length 

どのようにこれまであなたを介して観察Test ResultChromeDriverは、速いテスト結果と全く同じです。Chrome Development Console正確な数字は、です。しかし、IEDriverServerGeckoDriver両方がW3C準拠Google ChromePhantomJSているが、まだOSS準拠ていることを言及する価値があるレンダリング

document.links.length

:以下のスナップショットを参照してください。異なるプロトコルを介してHTML DOM Tree標準規格。 DOMツリーレンダリングMechanismの違いは重要ではありませんが、End Resultsの違いはFAILValidationで十分です。

そこで溶液は常にManualために検証するWebDriver/Web Browser組合せの任意の単一の変異体(IE/Firefox/Chrome/PhantomJSのいずれか)を選択してすることであろうAutomatedTest Results

+0

お返事ありがとうございます。私はMozillaで440を得た。私の質問で共有したスクリーンショットはMozilla Developerのものです。 –

+0

@PraveenKumar ChromeDriverを使用していたので、私の回答はChromeに基づいていました。私は私の答えの中で異なる出力の理由を詳述しました。私の答えがあなたの質問に応えたなら、Votedown矢印のすぐ下にある私の答えの横にある目盛りをクリックして答えを受け入れて、目盛りが緑に変わるようにしてください。 – DebanjanB

関連する問題