2017-08-21 4 views
-2

Web要素のリストがあり、ループ内のすべての要素を印刷したいのですが、どうすればいいですか?動作していない私のコードを入れて...すべてのヘルプはループ内の要素のリストを出力したい

List<WebElement> Pid=wd.findElements(By.xpath(".//*[@class='optimizely-propertyid recommend-row-target']")); 
List<WebElement> Ptitle=wd.findElements(By.xpath(".//*[@class='see-the-world-des listing-thumb-title property-wide-block-title']/a")); 
List<WebElement> Pprice=wd.findElements(By.xpath(".//*[@class='see-the-world-price-image list-view']/a/span")); 
List<WebElement> psleeps=wd.findElements(By.xpath(".//*[@class='see-the-world-price with-rating']/span/a")); 
List<WebElement> Prating=wd.findElements(By.xpath(".//*[@class='rating-text']")); 

for(WebElement e:Pid){ 

    System.out.println(e.getText()); 

    System.out.println(e.Ptitle.getText()); 
    System.out.println(Pprice.getText()); 


} 
+0

これは機能しません。あなたが得ている出力/エラーメッセージは何ですか? –

+0

その文法エラー – zsbappa

+0

ループ内のe.Ptitle.getText()とPprice.getText()の意味は? –

答えて

0

すべてのリストの要素数が同じであると仮定します。次に、以下のように印刷することができます。

List<WebElement> Pid=wd.findElements(By.xpath(".//*[@class='optimizely-propertyid recommend-row-target']")); 
     List<WebElement> Ptitle=wd.findElements(By.xpath(".//*[@class='see-the-world-des listing-thumb-title property-wide-block-title']/a")); 
     List<WebElement> Pprice=wd.findElements(By.xpath(".//*[@class='see-the-world-price-image list-view']/a/span")); 
     List<WebElement> psleeps=wd.findElements(By.xpath(".//*[@class='see-the-world-price with-rating']/span/a")); 
     List<WebElement> Prating=wd.findElements(By.xpath(".//*[@class='rating-text']")); 

     for(int i=0;i<Pid.size();i++){ 
      System.out.println(Pid.get(i).getText()); 
      System.out.println(Ptitle.get(i).getText()); 
      System.out.println(Pprice.get(i).getText()); 
      System.out.println(psleeps.get(i).getText()); 
      System.out.println(Prating.get(i).getText()); 

     } 
1

ePidリストからWebElementで理解されるであろう。別のリストを呼び出すために使用することはできません。また、リストにgetText()を使用することはできません。

ただし、パラメータとしてList<WebElement>を受け取るメソッドを作成し、それが

public void printList(List<WebElement> list) { 
    for(WebElement item : list) { 
     System.out.println(item .getText()); 
    } 
} 

使用し印刷することができ、5種類のリストを印刷するには一つのループを使用することはできません。

printList(Pid); 
printList(Ptitle); 
//... 

側として変数は小文字で始まる必要があります。pidptitleなど

関連する問題