Я в настоящее время программирую примеры в «Test-Driven Development with Python», точнее, первый функциональный тест. Но по какой-то странной причине send_keys
работает неправильно. Это то, что я пытаюсь сделать прямо сейчас, и, кстати, я изменил неявное ожидание явных ожиданий!Selenium send_keys зависает на Python
inputbox = self.browser.find_element_by_id('id_new_item')
self.assertEqual(# This passes, it's here just for completeness
inputbox.get_attribute('placeholder'),
'Enter a To-Do item'
)
inputbox.send_keys('Buy peacock feathers')
inputbox.send_keys(Keys.ENTER) # Everything okay up to here
WebDriverWait(self.browser, 10).until(
EC.text_to_be_present_in_element((By.CSS_SELECTOR, "table#id_list_table tr td"), "Buy peacock feathers")
)
table = self.browser.find_element_by_id('id_list_table')
rows = table.find_elements_by_tag_name('tr')
self.assertIn('1: Buy peacock feathers', [row.text for row in rows])
inputbox1 = self.browser.find_element_by_id('id_new_item') # Changed the variable only to test if it would hang too - and it does
inputbox1.send_keys('Use peacock feathers to make a fly')
inputbox1.send_keys(Keys.ENTER) # This hangs
self.fail()
WebDriverWait(self.browser, 10).until(
EC.text_to_be_present_in_element((By.CSS_SELECTOR, "table#id_list_table tr td"), "Use peacock feathers to make a fly")
)
Он никогда не достигает self.fail()
. Я попытался переместить его на предыдущую строку, и тест не удался, как и следовало ожидать. Но inputbox1.send_keys(Keys.ENTER)
никогда не работает, и когда я вижу браузер в качестве теста, inputbox1.send_keys('Use peacock feathers to make a fly')
никогда не пишет «Использовать перья павлина, чтобы сделать муху» в поле ввода.
Что происходит? Я использую последний Selenium ( Я думаю, я скачал его пару дней назад только что проверил, у меня есть последняя версия), версии Python и Django, и это открывает Firefox Developer Edition на моем ноутбуке. Спасибо.
EDIT: Я пробовал disabling multi-process in Firefox, но результат не изменился - он все еще зависает при попытке записи и нажатия клавиши ввода.
Как насчет 'inputbox1.send_keys (Keys.RETURN)'? – alecxe
Кроме того, какие версии селена и firefox вы используете? – alecxe
Просто сделал это, тот же выход. Firefox Developer Edition - версия 46.0a2, а Selenium - 2.52.0. –