Как я могу вставить текст после файла изображения в текстовое поле в Selenium? - PullRequest
1 голос
/ 24 мая 2019

Я хочу добавить текст с помощью .send_keys () к вводу текстового поля, но после файла изображения.

Однако по некоторым причинам Selenium добавляет текст всегда передфайл изображения, несмотря на то, что я добавил файл изображения перед отправкой текстового ввода.

Например:

image_button.send_keys(IMAGE_FILEPATH)
textfield.send_keys("text to insert")

Кнопка image_ является входом тег, который я получил через драйвер экземпляр, и он расположен перед текстовым полем.После отправки файла изображения с помощью метода .send_keys () он отображается в текстовом поле.

Однако я не уверен, как добавить текст после изображения натекстовое поле.Возможно ли это?


Ниже приведен скриншот, и код выглядит примерно так:

front_textfield, back_textfield = driver.find_elements_by_xpath("//div[@class='richEditor']")
image_front_button, image_back_button = driver.find_elements_by_xpath("//input[@accept='image/*']")
audio_front_button, audio_back_button = driver.find_elements_by_xpath("//input[@accept='audio/*']")
image_front_button.send_keys(image_file)
front_textfield.send_keys(text_front)
audio_front_button.send_keys(audio_file)

enter image description here

Я попытался запустить каждый код один за другим на своем ноутбуке Jupyter, но все равно не получилось.

Вот событие, связанное с текстовым полем:

enter image description here


Хммм, одним из обходных путей является добавление следующего кода, который перемещает курсор в текстовое поле.

image_front_button.send_keys(image_file)
for i in range(2):
    front_textfield.send_keys(Keys.ARROW_DOWN)
    front_textfield.send_keys(Keys.ARROW_RIGHT)
front_textfield.send_keys(text_front)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...