我正在尝试获取 textarea 的内容在 HTML 表单中使用 webdriver in Python .
我正在获取文本,但缺少换行符。 selenium docs几乎没用;他们说:
class selenium.webdriver.remote.webelement.WebElement(parent, id_)
[...]
text: Gets the text of the element.
我目前正在做以下事情:
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 错误(无法在跟踪器中找到它)或用户错误。
有没有其他方法可以做到这一点?
编辑:我刚刚试了一下 Chrome……工作正常。我报告了一个bug到 selenium 的问题跟踪器。 Sam 的解决方法(下面接受的答案)在 Firefox 中有效,但有一个警告:符号在返回的字符串中转换为 HTML 实体代码。这是 no big deal .
最佳答案
我刚刚得到标签文本区域的属性值。以下是 Java 代码示例。
WebElement textarea = driver.findElement(By.id("xf-1242"));
String text = textarea.getAttribute("value");
log.debut(text);
我正在使用 Chrome 驱动程序,上面的代码在日志中放置了一个带有换行符的文本(在我的例子中是 XML)。 我的想法来自 http://www.w3schools.com/jsref/dom_obj_textarea.asp
一月
关于python - 如何使用 webdriver 获取文本区域的文本内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303094/