Я пишу скрипт для автоматизации заполнения формы с использованием Selenium RC для Python. В одном из полей ввода есть оценщик опережающего ввода AJAX, который генерирует выпадающий список предложений по мере ввода. Я хотел бы выбрать первый вариант, но, поскольку в динамическом сгенерированном списке нет HTML-представления, я попытался смоделировать нажатие «Enter», симуляцию щелчка мыши из меню и перенести фокус на другой элемент, все которые работают вручную в браузере (и приводят к автосохранению, которое генерирует новую информацию на странице). Тем не менее, когда я запускаю следующий код на сервере Селена, выпадающее меню упорно остается там и нет выбора / автосохранения / обновления не происходит:
sel.focus('otherelement')
sel.key_press('element', '\13') # As far as I know, 13 is the keycode for the "Enter" key
sel.key_press_native('\13') # I also tried 'KeyEvent.VK_ENTER' since that is apparently the keycode for a java.awt.event.KeyEvent
sel.click('title')
sel.mouse_out('element')
sel.mouse_down_at('element', '10,20')
sel.mouse_up_at('element', '10,20')
Все они были протестированы по отдельности и вместе, но безрезультатно. У кого-нибудь есть исправления / предложения?
РЕДАКТИРОВАТЬ: Следующее работало для сайта, который я тестировал (решение, вероятно, варьируется от сайта к сайту):
sel.mouse_down('element')
sel.mouse_up('element')