如何使用webdriver获取文本区域的文本内容?

我正在尝试使用Python中的webdriver

HTML形式获取文本区域的内容。

我正在获取文本,但是缺少换行符。该selenium文档是几乎无用的;

他们说:

selenium.webdriver.remote.webelement.WebElement类(父代,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字符串的表示形式,除非所有换行符都已替换为空格。h!

不知道我是否遇到文本编码问题,selenium / webdriver bug(在跟踪器中找不到)或用户错误。

有其他方法可以做到吗?

:我只是尝试了Chrome

…工作正常。我向selenium的问题跟踪器报告了一个错误。Sam的解决方法(以下是可接受的答案)在Firefox中起作用,但有一个警告:将符号在返回的字符串中转换为HTML实体代码。

回答:

作为一种解决方法,您可以尝试使用ExecuteScript来获取innerHtml。我不是python家伙,但是在C#中:

IWebElement element = ...

String returnText = ((IJavaScriptExecutor)webDriver).ExecuteScript("return arguments[0].innerHTML", element).ToString();

以上是 如何使用webdriver获取文本区域的文本内容? 的全部内容, 来源链接: utcz.com/qa/419728.html

回到顶部