Как получить содержимое текстовой области с помощью webdriver?

Я пытаюсь получить содержимое textarea в HTML-форме с помощью webdriver в Python.

Я получаю текст, но новые строки отсутствуют. selenium docs практически бесполезны; они говорят:

class selenium.webdriver.remote.webelement.WebElement(parent, id_)

[...]

text: Получает текст элемента.

В настоящее время я делаю следующее:

from selenium import webdriver

# open the browser and web site
b = webdriver.Firefox()
b.get('http://www.example.com')

# get the textarea element
textbox = b.find_element_by_name('textbox')

# print the contents of the textarea
print(repr(textbox.text))

Это печатает представление строки Python unicode содержимого текстовой области, за исключением того, что все новые строки были заменены пробелами. Вот!

Не уверен, столкнулся ли я с проблемой кодировки текста, ошибкой selenium/webdriver (не смог найти ее в трекере) или ошибкой пользователя.

Есть ли другой способ сделать это?

EDIT: Я только что попробовал Chrome... работает нормально. Я сообщил об ошибке на трекере проблем selenium. Обходной путь Сэма (принятый ответ ниже) работает в Firefox с одной оговоркой: символы преобразуются в коды HTML-сущностей в возвращаемой строке. Это не страшно.

7
задан Community 23 May 2017 в 10:29
поделиться