2012-05-24 2 views
1

Итак, это то, что я должен сделать. Я хочу пойти на сайт, например http://www.walmart.com/catalog/allReviews.do?product_id=16561041 и развернуть все отзывы на странице. Я требую, чтобы обзоры были полностью открыты, потому что мне нужно собрать эти данные. Мой текущий код работает, но очень медленный.Щелчок по нескольким ссылкам на javascript с webdriver

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;} 
    } 
} 

Im using selenium 2.21 with firefox driver. У кого-нибудь есть предложения? Я довольно новичок в использовании селена, поэтому мои знания об этом довольно ограничены по сравнению с большинством из вас.

ответ

1

Использовать driver.findElements() вместо driver.findElement(). Затем просто нажмите все ссылки по очереди.

Если это не поможет - попробуйте профилировать код. Также вы можете написать несколько js, чтобы щелкнуть все ссылки.

+0

Спасибо, это было так просто, но все же оно ускорилось до 1/10-го времени оригинала – AlbChu

Смежные вопросы