1st, can you "locate" the element using Firebug/FirePath/Firefinder and similar browser tools? That's to make sure you have the right element identifier.
Next, you might want to try and see if you can access & manipulate the element via javascript via the DOM in the browser developer/error console.
e.g. run
document.querySelector("#js-tbody-data > tr:nth-child(1) > td:nth-child(3) > span").innerHTML;
then see if you get any output in the console or if some error is printed
and can also try something like
document.querySelector("#js-tbody-data > tr:nth-child(1) > td:nth-child(3) > span").id = "adding my custom ID to test";
then run previous query (or similar query but query for .outerHTML) to see that the newly added ID is in the HTML.
These will tell you whether you can access the elements at all or not. And you would then want to inspect the properties of the element to see if it has anything that would make Selenium consider it "invisible" or not editable/workable with, e.g. "display: block;" CSS property for an element.
And if these queries work, they are workarounds to read or edit the element's state via javascript(executor via Selenium) if you are having issues with Selenium native methods.