Я обработчик события определяется следующим образом:Невозможно вызвать события ввода с помощью WebDriver
$('#client-input-street1').on('input', function() {
console.debug('street1 text changed');
// Do some other dynamic stuff
});
Где # клиент-вход-Street1 простой элемент ввода:
<input id="client-input-street1" type="text" value="">
я не смог для запуска этого события «ввода» с помощью WebDriver. Я попробовал всевозможные методы, такие, как табулируя к # клиент-вход-Street1 текстовое поле, а затем send_keys, то табулируя к другому элементу формы, как описано here:
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)
Я попытался явно устанавливая значение с помощью Javascript:
self.driver.execute_script("document.getElementById('client-input-street1').setAttribute('value', '3229 NW Pittock Dr')")
Я попытался щелкнуть текстовое поле, затем send_keys, а затем щелкнуть по другому элементу.
Я передаю некоторый контент в DOM внутри обработчика ввода, и мой тест Selenium должен проверить некоторые значения внутри этого динамического содержимого. Но я получаю TimeoutException при ожидании этого контента для загрузки:
ec = EC.presence_of_element_located((By.ID, 'client-address-suggestions-list'))
address_suggestions_list = wait.until(ec)
Ничто не работает до сих пор. Любые идеи были бы хорошы.
Есть ли исключения? – Andersson
Да, я обновил вопрос, за исключением того, что получаю. –
Вы можете проверить, находится ли ваше поле ввода внутри '