Paulo Roberto :
With the code String result = driver.findElement (By.id ("ulDezenas")).GetText ();
I can get the result 001122334455, which is present in uldezenas. I want to get the numbers, however separated, in this way 00 11 22 33 44 55.
I already tried the split command, but I could not, unfortunately.
HTML
<ul class="numbers diaDeSorte" id="ulDezenas">
<li>00</li>
<li>11</li>
<li>22</li>
<li>33</li>
<li>44</li>
<li>55</li>
<li>66</li>
</ul>
DebanjanB :
To extract the numbers separately in the following fashion, 00 11 22 33 44 55
etc you need to create a List you can use either of of the elements and then use StringJoiner Class to add the space character and you can use either of the following Locator Strategies:
Using StringJoiner of Java 8 and later
Using cssSelector:
List<WebElement> elementList = driver.findElements(By.cssSelector("ul.numbers.diaDeSorte#ulDezenas li")); ArrayList<String> values = new ArrayList<>(); for(WebElement element:elementList) values.add(element.getText()); StringJoiner joiner = new StringJoiner(" "); for (String item : values) joiner.add(item.toString()); System.out.println(joiner.toString());
Using xpath:
List<WebElement> elementList = driver.findElements(By.xpath("//ul[@class='numbers diaDeSorte' and @id='ulDezenas']//li")); ArrayList<String> values = new ArrayList<>(); for(WebElement element:elementList) values.add(element.getText()); StringJoiner joiner = new StringJoiner(" "); for (String item : values) joiner.add(item.toString()); System.out.println(joiner.toString());
Using Stream and Collectors of Java 9 and later
List<WebElement> elementList = driver.findElements(By.cssSelector("ul.numbers.diaDeSorte#ulDezenas li")); ArrayList<String> values = new ArrayList<>(); for(WebElement element:elementList) values.add(element.getText()); System.out.println(values.stream(). map(Object::toString). collect(Collectors.joining(" ")).toString());
Using org.apache.commons.lang3.StringUtils:
List<WebElement> elementList = driver.findElements(By.xpath("//ul[@class='numbers diaDeSorte' and @id='ulDezenas']//li")); ArrayList<String> values = new ArrayList<>(); for(WebElement element:elementList) values.add(element.getText()); System.out.println(org.apache.commons.lang3.StringUtils.join(values," "));