如何使用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