ich ein Event-Handler wie so definiert haben:Unable Eingabeereignis auszulösen WebDriver mit
$('#client-input-street1').on('input', function() {
console.debug('street1 text changed');
// Do some other dynamic stuff
});
Wo # Client-input-Street1 ein einfaches Eingabeelement ist:
<input id="client-input-street1" type="text" value="">
ich nicht in der Lage gewesen, um dieses "Eingabe" -Ereignis mit WebDriver auszulösen. Ich habe alle Arten von Techniken versucht, wie Client-input-Street1 Textbox auf die # Tabbing, dann send_keys, dann in einer anderen Form Kontrolle Tabbing als here beschrieben:
street1_input = self.driver.find_element_by_id('client-input-street1')
street1_input.send_keys('3229 NW Pittock Dr')
street1_input.send_keys(Keys.TAB)
Ich habe versucht, den Wert explizit Einstellung mit Javascript:
self.driver.execute_script("document.getElementById('client-input-street1').setAttribute('value', '3229 NW Pittock Dr')")
Ich habe versucht, klicken Sie auf das Textfeld, dann send_keys, dann klicken Sie auf ein anderes Element.
Ich render etwas Inhalt in das DOM innerhalb der 'Eingabe' Handler, und mein Selenium-Test muss einige Werte in diesem dynamischen Inhalt überprüfen. Aber ich bin immer ein Timeout wenn für diese Inhalte zu laden warten:
ec = EC.presence_of_element_located((By.ID, 'client-address-suggestions-list'))
address_suggestions_list = wait.until(ec)
Nichts hat bisher funktioniert. Irgendwelche Ideen würden geschätzt werden.
Haben Sie Ausnahmen? – Andersson
Ja, ich habe die Frage mit der Ausnahme aktualisiert, die ich bekomme. –
Können Sie überprüfen, ob sich Ihr Eingabefeld innerhalb '