К сожалению, вы не можете справиться с этой ситуацией в xpath. Таким образом, вы должны передать на JavaScript, чтобы получить текстовые узлы и вернуть значение.
Вот решение Python.
def get_text_exclude_children(element):
return driver.execute_script(
"""
var parent = arguments[0];
var child = parent.firstChild;
var textValue = "";
while(child) {
if (child.nodeType === Node.TEXT_NODE)
textValue += child.textContent;
child = child.nextSibling;
}
return textValue;""",
element).strip()
Это способ вызова этого метода в вашем случае
ele = driver.find_element_by_xpath("//div[@class='message success fadable']")
print(get_text_exclude_children(ele))

Тот же метод в Java:
public String get_text_exclude_children(WebDriver driver, WebElement element) {
JavascriptExecutor js = (JavascriptExecutor) driver;
return (String) js.executeScript("var parent = arguments[0];"
+ "var child = parent.firstChild;"
+ " var textValue = ''; while(child) { "
+ "if (child.nodeType === Node.TEXT_NODE)"
+ " textValue += child.textContent;"
+ " child = child.nextSibling; "
+ "} return textValue;",element);}