Consider the HTML below. The XPath in your question is checking whether there exists a tr-element in your HTML anywhere (because of the //), with the class 'af_data_table-row', that contains a span anywhere in the tr-element with text 'To be Reviewed' AND a span anywhere in the tr-element that contains the text '1'. Such an element exists, thus the value returned is true. By combining the the two span elements your XPath query with the and
its result becomes a boolean result.
If you just want to get the two spans and check their values individually you could use the XPath: //tr[@class='af_table_data-row']/td/span
. That will return an array with the 2 span elements. You can then write 2 separate checks to check the values.
However, consider that your original XPath already does enforce that the correct values are in the spans, so by checking for true as a return value from that it also does the check you are looking for, albeit in a less verbose way.
<table>
<tr class="af_table_data-row">
<td><span>To be Reviewed</span></td>
<td><span>1</span></td>
</tr>
</table>