2016-04-26 3 views
1

Привет Я пытаюсь получить количество слов в абзаце. Ниже приведен мой код, чтобы найти счетчик. Пожалуйста, проверьте код и скажите мне ошибку.Код селена, чтобы найти количество слов в абзаце

Code 
---- 
package checking; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.remote.RemoteWebDriver; 

public class WordCount { 

    public static void main(String[] args) { 
     RemoteWebDriver driver; 

     //driver = new FirefoxDriver(); 

     System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe"); 
     driver = new ChromeDriver(); 

     driver.manage().window().maximize(); 
     driver.get("https://jqueryui.com/"); 

     WebElement Para = driver.findElement(By.xpath("//*[@id='banner-secondary']/p")); 
     String ParaCon = Para.getText(); 

     System.out.println("Paragraph Content : "+ParaCon); 

     int ParaConCount = ParaCon.length(); 
     System.out.println("Paragraph Characters Count : "+ParaConCount); 

     int count=0; 
     for (int i = 0; i <= ParaConCount; i++) { 
      if (ParaCon.contains("of")) { 
       count++; 
       break; 
      } 
     } 
     System.out.println("Count of Word present : "+count); 

     driver.quit(); 
    } 

} 

Он должен получить thecount из THW слова whatiam давая

+0

На самом деле вы нарушаете момент вы находите это один раз, что означает, что вы можете найти только один раз (количество макс = 1). Проверьте этот вопрос, чтобы узнать, как вы можете получить количество раз, когда подстрока появляется в строке: http://stackoverflow.com/questions/767759/occurrences-of-substring-in-a-string –

+0

Хорошо, я проверю. Спасибо Floris Velleman – Vijay

+0

попробуйте это поможет http://stackoverflow.com/questions/5864159/count-words-in-a-string-method –

ответ

0
package sample; 

import org.apache.commons.exec.util.StringUtils; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.remote.RemoteWebDriver; 

public class WordSearchCountandposition { 

    public static void main(String[] args) { 
     RemoteWebDriver driver; 

     //driver = new FirefoxDriver(); 

     System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe"); 
     driver = new ChromeDriver(); 

     driver.manage().window().maximize(); 
     driver.get("https://jqueryui.com/"); 

     WebElement Para = driver.findElement(By.xpath("//*[@id='banner-secondary']/p")); 
     String ParaCon = Para.getText(); 

     System.out.println("Paragraph Content : "+ParaCon); 

     int ParaConCount = ParaCon.length(); 
     System.out.println("Paragraph Characters Count : "+ParaConCount); 

     int count=0; 
     int position=0; 

     String WordtoSearch = "a"; 

     String a[] = ParaCon.split(" "); 
     int size = a.length-1; 
     System.out.println("Paragraph Words Count : "+size); 

     for (int i = 0; i <=size; i++) { 
      if (WordtoSearch.equalsIgnoreCase(a[i])) { 
       count++; 
       position = i; 
       System.out.println("Position of Matched Words : "+position); 
      } 
     } 
     System.out.println("Matched Words Count : "+count); 

     driver.quit(); 
    } 

} 
0

Используя пример:

ParaCon = "of of of" 

Это даст вам:

ParaConCount = 8 

И для цикла, который выглядит как это:

int count = 0; 
for (int i = 0; i <= 8; i++) { 
    if ("of of of".contains("of")) { 
     count++; // count is now 1 
     break; // We get out of the loop here (so we have count = 1) 
    } 
} 
// count is now 1 

Что об использовании:

StringUtils.countMatches(ParaCon, "of"); // this will return 3 
+0

Привет, Floris iam, проблема при добавлении .countmatches, пожалуйста, дайте точное кодирование – Vijay

+0

@Vijay Для функции '.countMatches' требуется использование Apache Commons Lang. Если у вас нет доступа к этому, вы можете использовать 'ParaCon.split (" of ", -1) .length - 1'. –

+0

его не работает Я попробовал его сказать недействительный оператор назначения – Vijay

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