Obecnie piszę test webdriver dla wyszukiwania, który używa ajax dla sugestii. Test działa dobrze, jeśli dodaję wyraźne oczekiwanie po wpisaniu treści wyszukiwania i przed naciśnięciem klawisza Enter.webdriver czekać na żądanie ajax w python
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys("obama")
time.sleep(2)
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys(Keys.RETURN)
ale
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys("obama")
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys(Keys.RETURN)
zawiedzie. Mam testy na ec2 z 1 wirtualnym cpu. Podejrzewam, że nacisnąłem klawisz enter, zanim jeszcze otrzymam żądania GET związane z wyszukiwaniem i jeśli naciśniesz enter przed sugestiami, to się nie powiedzie.
Czy istnieje lepszy sposób dodawania wyraźnych oczekiwań?