python selenium: does not wait until page is loaded after a click() command

Viewed 19928

does someone know how to wait until the page is loaded? I tried all possible variants I found on the web but is simply does not work.

I need to wait after I trigger a click() command, there is some internal scripting on the web server which fools checks such as (I exclude the code to import required modules and use standard naming conventions):

WebDriverWait(browser, 10).until(lambda d: d.find_element_by_id(the_id))

or

browser.implicitly_wait(10) 

or

elem2=wait.until(EC.presence_of_element_located((By.ID,the_id)))

all the above checks do not work, in the sense that they return True even if the page is still loading. This causes text which I am reading to be incomplete since the page is not fully loaded after a click() command. It seems that in python the command clickAndWait is not available (but again, it probably would not solve the problem as the other tests also fail). Ideally there would be a command which waits until the whole web page is loaded (regardless of a particular element of the page).

I managed to solve the problem by manually inserting a time.sleep(5) in a loop, but this is sub-optimal since it might slow down the whole process. If possible, better to wait only the strictly required time.

Thx

2 Answers
Related