The following snippet works. If I change the order of the 2 explicit waits it also works. But if I comment out either of the explicit waits, it won't work. But it doesn't fail either; webdriver thinks send_keys() happened but it actually didn't.
Adding time.sleep() also makes it work but that is to be avoided.
The failures are intermittent.
The duration of wait times are definitely long enough.
driver.implicitly_wait(20)
driver.get("https://thirdpartywebsite.com")
WebDriverWait(driver,10).until(cond.visibility_of_element_located((By.ID, "username")))
WebDriverWait(driver,10).until(cond.element_to_be_clickable((By.ID, "username")))
driver.find_element(By.ID, "username").send_keys(username)
So given the above, what actually does clickable and visible mean in the context of send_keys()?
How could it be possible that send_keys() does not throw, but text does not appear?
What would be the proper way to do this with 1 line instead of 2?
Note that the element with ID "username" is a <input>