Я пытаюсь получить содержимое textarea в форме HTML, используя webdriver в Python .
Я получаю текст, но новые строки отсутствуют. документы по селену в значительной степени бесполезны; они говорят:
класс 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))
Это печатает представление строки Unicode Python содержимого текстовой области, за исключением того, что все новые строки были заменены пробелами. Doh!
Не уверен, что у меня проблема с кодировкой текста, ошибка селена / веб-драйвера (не удалось найти ее в трекере) или ошибка пользователя.
Есть ли другой способ сделать это?
EDIT : Я только что попробовал Chrome ... работает отлично. Я сообщил о ошибке в систему отслеживания проблем Селена. Обходное решение Сэма (принятый ответ ниже) работает в Firefox с одной оговоркой: символы возвращаются в коды сущностей HTML в возвращаемой строке. Это ничего страшного .