2017-05-03 2 views
0

私はちょうどセレンで始まったので、私は下のものをどう扱うか知りたいと思っています... 私がグッドに何かを入力すると私はコンソールにそれらをプリントしたいと思っています。 私はこれを試しましたどのようにすべてのsugessionを印刷するには自動suggetions来たのですか?

driver.findElement(By.id("lst-ib")).sendKeys("cognizant i"); 

      List<WebElement> lst=driver.findElements(By.tagName("li")); 
      int ii = lst.size(); 

     System.out.println(lst.get(3).getText()); 
     System.out.println(lst); 
     for(int i=0;i<lst.size();i++){ 

      System.out.println("hi" + lst.get(i).getText()); 
     } 

しかし、コンソールに何も印刷されません。私が間違っていた場所を案内してください。

答えて

0

次のコードは、google検索バーにいくつかの値を入力した後に提案が表示されるのを待ち、その後、それらをコンソールに1つずつ出力します。

 driver.findElement(By.name("q")).sendKeys("Cognizant i"); 

    List <WebElement> allItems = driver.findElements(By.xpath("//*[@id='sbtc']/div[2]/div[2]/div[1]/div/ul//li/div[contains(@id,'sbse')]")); 
    while(allItems.size() <1) 
    {} 

    System.out.println("Total no of elements :" + allItems.size()); 

    for(int i=0; i< allItems.size() ;i++){ 
     value1= allItems.get(i).getText(); 
     System.out.println(value1); 

    } 
0

あなたのコードが実際に実行し、出力に提案を行います - しかし、ページ上のすべての「li」要素をつかんで、リストの中に空または無関係な要素が多数存在することになります。

Googleのホームページでブラウザでコンソールを開き、コードが実際に行っているliタグを検索すると、これを見ることができます。

あなたのコードは、 "listbox"というロールを持つタグの内部にある、収集したいリスト項目に特有のものにします。

次の意志出力コンソールへの提案:

driver.findElement(By.id("lst-ib")).sendKeys("cognizant i"); 

WebElement suggestionList = driver.findElement(By.cssSelector("[role ='listbox']")); 
List<WebElement> suggestions = suggestionList.findElements(By.tagName("li")); 

for(WebElement suggestion : suggestions){ 
    System.out.println(suggestion.getText()); 
} 
関連する問題