Как "send_keys" несколько строк в textarea в Python Selenium Appium? - PullRequest
0 голосов
/ 02 марта 2020

Мне нужно заполнить тело почтового клиентского приложения на реальном смартфоне. Я использую Python 3.7 + Appium.

Я пытался отправить текст с символом '\ n' для каждой новой строки, но это не сработало.

Это строка:

text="Bonjour {username},\nJe recherche des testeurs pour un nouveau logiciel marketing.\\nVoudriez-vous le tester?\nCordialement."

, и когда я делаю send_keys:

p_body.send_keys(text)

, она заполняет текстовую область как одну строку строкой \ п внутри текста. это не озеро "новая линия". : - (

Я мог бы попробовать с ActionChains, но он не принимает специальные символы с акцентами.

Кто-нибудь уже пытался заполнить абзац из нескольких строк во входе Appium и send_keys?

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Чтобы заполнить тело почтового клиентского приложения, используя send_keys, включая \n для каждой новой строки, вы можете использовать метод execute_script() следующим образом:

p_body = driver.find_element_by_id('element_id')
text = "Bonjour {username},\nJe recherche des testeurs pour un nouveau logiciel marketing.\\nVoudriez-vous le tester?\nCordialement."
driver.execute_script('arguments[0].value=arguments[1]', p_body, text)
0 голосов
/ 02 марта 2020

Привет, парень, французский стековый пользователь потока;)

Согласно Tamas Hegedus на этом посте: Selenium Webdriver вводит многострочный текст в форму, не отправляя его , вы можете попробовать заменить /n с Keys.chord(Keys.SHIFT, Keys.ENTER)

Надеюсь, это поможет

РЕДАКТИРОВАТЬ

Это решение не работает для Python, но для Java. Правильный ответ, как сказано в Ошибка: тип объекта «Ключи» не имеет атрибута «chord» , использует ActionChains

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...