Derzeit schreibe ich Webdriver Test für die Suche, die Ajax für Vorschläge verwendet. Der Test funktioniert gut, wenn ich nach Eingabe des Suchinhalts und vor dem Drücken der Eingabetaste explizit warten.webdriver warten auf Ajax Anfrage in 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)
aber
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)
ausfällt. Ich führe Tests auf ec2 mit 1 virtueller CPU durch. Ich vermute, ich drückte die Eingabetaste, noch bevor GET-Anfragen im Zusammenhang mit der Suche gesendet werden und wenn ich die Eingabetaste vor den Vorschlägen drücke, schlägt es fehl.
Gibt es einen besseren Weg, explizite Wartezeiten hinzuzufügen?