2017-06-27 13 views
1

webdriverをセレンを使用してリンクを見つけるには、私はMacBookの上Google検索をしなければならないと私はイーベイリンクを見つけるまで、検索結果ページをナビゲートする必要があります考えてみましょう。検索結果ページをナビゲートし、

例えば、eBayリンクがGoogleの検索結果ページの3番目のページにある場合、私のSeleniumスクリプトは、ページ1 & 2にeBayリンクが含まれていないこと、ページでは、eBayリンクをクリックする必要があります。

私の擬似コードは、driver.findElement(By.LinkText("Ebay.co.uk"))を使用してeBayリンクを識別しようとしますが、検索結果ページ間でeBayリンクを見つける方法がわかりません。

私が試してみましたすべては、以下の擬似コードです:コードレベルにこれを取る方法について

if (driver.isLinkPresent("Ebay.co.uk")) { 
    then driver.findElement(By.linkText(Ebay)).click(); 
    Else 
      Navigate to next Search result page 
})(Repeat the loop until the link is found); 

任意のアイデア?もし誰かが助けてくれたらうれしい!

+0

クールな物語:

は、ここで擬似コードです。どのように試してみましたか? –

+0

ありがとうTrimantra。私は擬似コード – npp

答えて

1

私はあなたにどのように表示することができますが、私はJavaでセレンを使用していないので、正確なコードを提供することはできません。

found = false; 

while(found == false){ 

    attemptFind = $driver.findElements({xpath: "//h3[contains(text(),'eBay: Electronics')]"}); // Returns an array of headers are found with Ebay.co.uk in 

    if attemptFind.length() == 0 || attemptFind == null { 
     currentPage = $driver.findElement({css: "td.cur"}).getText(); // Get Current Page Number 
     nextPage = (currentPage.toInt() + 1).toString(); // Add 1 to current page 

     $driver.findElement({css: "a[aria-label='Page "+nextPage+"']"}).click(); // Go to next page 
    } else { 
     attemptFind[0].click(); // Click on the Ebay link 
     found = true; // Break out of loop 
    } 
} 
+0

カイルに質問を更新しました。アイデアを得るのに有用な擬似コードの一種。 – npp

関連する問題