1

だから、私がしなければならないことはここにあります。http://www.walmart.com/catalog/allReviews.do?product_id=16561041のようなサイトにアクセス して、ページ上のすべてのレビューを展開したいと考えています。このデータを収集する必要があるため、レビューを完全に公開する必要があります。私の現在のコードは機能しますが、非常に遅いです。

public void clickAllLinks(String linkText){
    for(int j = 0; j < 20 ; j++){
        try{
        if(driver.findElement(By.linkText("(read full review)")).isDisplayed())
            driver.findElement(By.linkText(linkText)).click();
        }catch(NoSuchElementException e){break;}
    }
}

Firefoxドライバーでセレン2.21を使用しています。誰か提案はありますか?私はセレンの使用にかなり慣れていないため、セレンに関する私の知識は、他のほとんどの人に比べてかなり限られています.

4

1 に答える 1

1

driver.findElements()の代わりに使用しdriver.findElement()ます。次に、ループ内のすべてのリンクを 1 つずつクリックします。

これで解決しない場合は、コードのプロファイリングを試みてください。また、すべてのリンクをクリックするための js を作成することもできます。

于 2012-05-24T23:49:26.553 に答える