2015-01-24 5 views
-1
public class FindElementsDemo { 

public static void main(String[] args) throws InterruptedException{ 
    java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF); 
java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF); 
    //WebDriver browser = new FirefoxDriver(); 
    //WebDriver browser = new HtmlUnitDriver(); 
    HtmlUnitDriver browser = new HtmlUnitDriver(); 
    browser.get("http://www.ebay.com/"); 
    browser.findElement(By.xpath("//select[@id='gh-cat']")).click(); 
    Thread.sleep(5000); 
    List<WebElement> allCategories = browser.findElements(By.xpath("//select[@id='gh-cat']//option")); 
    System.out.println(allCategories.size()); 
    for(WebElement categoryName:allCategories){ 
    System.out.println(categoryName.getText()); 
    } 
    } 
} 

Я не получаю все Категории Список Размер и значениеСелен WebDriver проблема в получении данных

ответ

0

Кажется, что ваш Xpath может быть неправильно или петли имеют проблемы, пожалуйста, попробуйте ниже код:

public class FindElementsDemo { 

    public static void main(String[] args) throws InterruptedException{ 
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF); 

    java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF); 

    WebDriver driver = new FirefoxDriver();   


     driver.get("http://www.ebay.com/"); 
     driver.findElement(By.xpath("//select[@id='gh-cat']")).click(); 

     Thread.sleep(5000); 

    java.util.List<WebElement> allCategories = browser.findElements(By.xpath("//select[@id='gh-cat']//option")); 

System.out.println(allCategories.size()); 


    for(int i=0;i<=allCategories.size()-1;i=i+1) 
     { 
      System.out.println(allCategories.get(i).getText()); 
     } 
    } 
    } 
2

Весь ваш код хорош. Вы встречаете эту проблему, потому что вы использовали HtmlDriver. Этот драйвер не поддерживает javascript; И, похоже, выпадающее меню генерируется динамически с помощью javascript.

Замените Htmldriver на FirefoxDriver, все должно быть в порядке.

Вы можете использовать PhantomJS для безгласного драйвера.

36 
All Categories 
Antiques 
Art 
Baby 
Books 
Business & Industrial 
Cameras & Photo 
Cell Phones & Accessories 
Clothing, Shoes & Accessories 
Coins & Paper Money 
Collectibles 
Computers/Tablets & Networking 
Consumer Electronics 
Crafts 
Dolls & Bears 
DVDs & Movies 
eBay Motors 
Entertainment Memorabilia 
Gift Cards & Coupons 
Health & Beauty 
Home & Garden 
Jewelry & Watches 
Music 
Musical Instruments & Gear 
Pet Supplies 
Pottery & Glass 
Real Estate 
Specialty Services 
Sporting Goods 
Sports Mem, Cards & Fan Shop 
Stamps 
Tickets & Experiences 
Toys & Hobbies 
Travel 
Video Games & Consoles 
Everything Else 
Смежные вопросы