Selenium в ubuntu как правильно переносить строки?

Здравствуйте! Есть такой код, для отправки сообщений в WhatsApp, нормально работающий на Windows
msg1 = f"Привет, {name}!" #Первая строка сообщения
msg2 = f"Твой номер #{numb}." #Вторая строка

msg_box = driver.find_element_by_xpath("//*[@id='main']/footer/div[1]/div[2]/div/div[2]") #Поиск текстового окна
msg_box.send_keys(msg1) # Первая строка сообщения
ActionChains(driver).key_down(Keys.SHIFT).key_down(Keys.ENTER).perform() #Зажать Shift+Enter, перевести строку
ActionChains(driver)key_up(Keys.SHIFT).key_up(Keys.ENTER).perform() #Отжать клавиши 
msg_box.send_keys(msg2)   #Вторая строка сообщения
ActionChains(driver).key_down(Keys.SHIFT).key_down(Keys.ENTER).perform()
ActionChains(driver).key_up(Keys.SHIFT).key_up(Keys.ENTER).perform()
driver.find_element_by_xpath("//*[@id='main']/footer/div[1]/div[3]/button").click() #Кликнуть на кнопку отправки


Под виндой сообщение выглядит так:
"Привет, {имя пользователя}!
Твой номер: {номер}."

А запуская этот же скрипт в Ubuntu 20.04 получается вот это:
"Привет,
{имя пользователя}!Твой
номер
[number][-1:]"

Подскажите что я неправильно делаю, заранее спасибо.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Как то странно это выглядит, у тебя какое то время Shift + Enter зажаты, возможно со стороны Linux это как-то не так обрабатывается. Попробуй одним действием переводить строку:

import time

msg1 = f"Привет, {name}!" #Первая строка сообщения
msg2 = f"Твой номер #{numb}." #Вторая строка

msg_box = driver.find_element_by_xpath("//*[@id='main']/footer/div[1]/div[2]/div/div[2]")
msg_box.click()
for s in (msg1, msg2):
    for c in s:
        msg_box.send_keys(s)
        time.sleep(0.2)
    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()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы