Как получить данные или идентифицировать тег <b>Т.е. успешно завершено с использованием Selenium Java - PullRequest
0 голосов
/ 05 марта 2019
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD height="100%" vAlign=top width="86%" align=center>
<TABLE cellSpacing=0 cellPadding=0 width="80%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=center>
<TABLE class=table_border_dark cellSpacing=1 cellPadding=0 width="80%" border=0>
<TBODY>
<TR align=center>
<TD bgColor=#ffffff colSpan=2>
<TABLE class=table_border_dark cellSpacing=1 cellPadding=1 width="60%" border=0>
<TBODY><LEGEND><B>Successfully Completed</B></LEGEND></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>

Я пытался с:

boolean table = driver.findElement(By.xpath("//div[@id='eodProgress']/..//b[contains(text(),'EOD Process Successfully Completed')]")).isDisplayed();
System.out.println(table);

Но я получил ошибку, что не удается найти элемент.

1 Ответ

0 голосов
/ 05 марта 2019

Чтобы извлечь текст в теге <b>, т. Е. Успешно завершено , вам нужно WebDriverWait для visibilityOfElementLocated , и вы можете использовать любое из следующих решений :

  • cssSelector:

    String myText = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("TABLE.table_border_dark LEGEND>B"))).getAttribute("innerHTML");
    
  • xpath

    String myText = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//TABLE[@class='table_border_dark']//LEGEND/B"))).getAttribute("innerHTML");
    
...