Как сделать разрыв строки в WhatsApp с Selenium при отправке сообщения? - PullRequest
1 голос
/ 06 июня 2019

Функция отправки сообщения:

template = {
    'other': 
             'Text.'
             'More Text.'
             'Much more text.'
}


def send_message(driver, answer):
    driver.find_element_by_xpath('XPATH').click()
    action = ActionChains(driver)
    action.send_keys(answer)
    action.send_keys(Keys.RETURN)
    action.perform()

В зависимости от полученного сообщения от template, необходимый ответ берется и передается в send_message() в качестве аргумента answer. Если вы отправляете сообщение как есть, то в WhatsApp оно появляется одной строкой:

Text.More text.Much more text.

Если вы добавите \n, то каждая строка будет отправлена ​​с новым сообщением, например:

снимок экрана с отправленным сообщением

Как отправить текст с разрывами строк в одном сообщении?

1 Ответ

1 голос
/ 06 июня 2019

Решено

def send_message(driver, answer):
    driver.find_element_by_xpath('XPATH').click()
    for line in answer.split('\n'):
        ActionChains(driver).send_keys(line).perform()
        ActionChains(driver).key_down(Keys.SHIFT).key_down(Keys.ENTER).key_up(Keys.SHIFT).key_up(Keys.ENTER).perform()
    ActionChains(driver).send_keys(Keys.RETURN).perform()
...