Here is something you can work with to get the strings you are looking to fetch from the HTML you have shared in the question,
HTML:
<html>
<title>Test</title>
<body>
<li class="SpacedOut">
<b>Name 6:</b>
"ABC"
<b>Name 1:</b>
"BCD"
<b>Name 2:</b>
"EFG"
<b>Name 3:</b>
"HIJ"
<b>Name 4:</b>
"KLM"
<b>Name 5:</b>
"NOP"
<br>
</body>
</html>
Java:
try {
WebDriver driver;
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "//chromedriver");
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("file:///home/milin/test.html");
driver.manage().window().maximize();
Thread.sleep(2000);
String s = null;
List<WebElement> allB = driver.findElements(By.xpath("//li/b"));
int bCount = allB.size();
for (WebElement b : allB) {
String wrapperText = driver.findElement(By.xpath("//li[@class='SpacedOut']")).getText().trim();
String bText = b.getText();
s = wrapperText.substring(wrapperText.indexOf(bText));
wrapperText = s.trim();
wrapperText = wrapperText.replace(bText, "").trim();
if (wrapperText.contains(" ")) {
wrapperText = wrapperText.substring(0, wrapperText.indexOf(" "));
}
System.out.println(wrapperText);
}
Thread.sleep(5000);
driver.close();
driver.quit();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Output:
"ABC"
"BCD"
"EFG"
"HIJ"
"KLM"
"NOP"