当前位置: 首页 > 面试题库 >

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

戚建白
2023-03-14
问题内容

我正在尝试使用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();


 类似资料:
  • 问题内容: 我正在尝试制作自己的 WYSIWYG 编辑器。有什么办法,如何获取用户在textarea中选择的文本? 例如,如果用户选择了某个单词然后单击按钮,那么我如何找出选择了哪个文本? 我正在使用 jQuery 。 问题答案: 尝试使用jquery-fieldselection插件。 您可以从这里下载。也有一个例子。

  • 问题内容: 我正在尝试在react中创建一个文本编辑器。有人知道如何从textarea中获取所选文本,以便可以将样式应用于所选文本。我知道我们可以在javascript中使用window.getSelection,但我很想知道是否有其他方法可用于此功能? 问题答案: 是的,有一种方法可以做到这一点,特别是在React中。实现该目标的方法如下。 步骤1:-在您的textarea ui元素中使用ref

  • 该如何用bs4解析它以获得仅有的国家值? 通过这段代码,我从td获得了所有文本,但我不明白如何具体引用国家 我有这根绳子

  • 问题内容: 我正在尝试使用Selenium WebDriver获取文本,这是我的代码。请注意,我不想使用XPath,因为在我的情况下,每次重新启动网页时ID都会更改。 我的代码: HTML: 我怎样才能解决这个问题? 问题答案: 你只想。 然后,您可以在验证 后 进行验证,不要尝试传递您 期望的 内容。

  • 我试图使用Selenium WebDriver获取文本,这是我的代码。请注意,我不想使用XPath,因为在我的情况下,每次重新启动网页时都会更改ID。 我的代码: HTML: 我怎样才能解决这个问题?

  • 我有下面的HTML页面,我正在python下使用Selenium从HTML页面提取一些数据 <代码>