У меня есть веб-приложение, которое позволяет пользователю загружать файл в стиле XML, а затем изменять его в браузере.Python: действительно доступная загрузка файла в splinter?
Я пытаюсь проверить сценарий с осколком. При условии, у меня есть правильный вход (id="form-widgets-body"
):
... Я не могу найти его не проблема, а также использование attach_file
с его именем:
(Pdb) brwsr.find_by_id('form-widgets-body')
[<splinter.driver.webdriver.WebDriverElement object at 0x7f2be3a32dd0>]
brwsr.attach_file('form.widgets.body', PATH_TO_FILE)
Но проблема с attach_file
в том, что она фактически не делает файл доступным для меня. Может быть, он просто сообщает, что что-то было заполнено, что хорошо для других видов тестов? (Например, вы не можете перейти к следующему экрану в финансовом приложении, пока вы не загрузите документ X)
Я попытался send_keys
вместо этого, но он не работает, как ожидалось:
(Pdb) brwsr.find_by_id('form-widgets-body').send_keys
*** AttributeError: 'ElementList' object has no attribute 'send_keys'
(Pdb) brwsr.find_by_id('form-widgets-body')[0].send_keys
*** AttributeError: 'WebDriverElement' object has no attribute 'send_keys'
С учетом сказанного, некоторые вопросы:
бы
send_keys
на самом деле делать то, что я хочу (то есть, доступное для загрузки файла, точно так же как реальная вещь)? Если да, то что такое Право Способ называть его?Если нет, что еще я могу сделать? (требуется js, может быть?)