Try use WebDriverWait, it makes no sense talking about visibility now, because the exception is
NoSuchElementException, which means the element is not there. After resolve this exception, then we can move through talking about visibility.
driver.switchTo().frame(0); // use this if it's in frame and you don't know how to locate it
WebElement input = (new WebDriverWait(driver, 15)).until(ExpectedConditions.presenceOfElementLocated(By.id("qt_invoices_text1")));
Also just a heads up, don't use Thread.Sleep(), use WebDriverWait please.
Yes, sorry I forgot to include the exception. The element is visible in the page, but it seems the webdriver can't see it. I get the NoSuchElementException
@user2456513: In that case update your question with stacktrace and your Java code. Have you used WebDriverWait and is it in any kind of frames?
Updated. I dont think waiting has anything to do with it, the problem is that webdriver can't view these elements at all. It is not in a frame just in the <div> mainContent (see html)
@user2456513: NoSuchElementException measn not found, this is even before talking visibility.
I think it might have something to do with frames. see update