GVKun编程网logo

如何通过getText()从html中的多个子节点提取动态文本(html获取节点文本)

13

对于想了解如何通过getText的读者,本文将是一篇不可错过的文章,我们将详细介绍从html中的多个子节点提取动态文本,并且为您提供关于c#–如何从html中提取文本、html动态加载text如何获得

对于想了解如何通过getText的读者,本文将是一篇不可错过的文章,我们将详细介绍从html中的多个子节点提取动态文本,并且为您提供关于c# – 如何从html中提取文本、html 动态加载text 如何获得text中的值_html/css_WEB-ITnose、html 文本框(text)不可用只读的多种实现方法_HTML/Xhtml_网页制作、html-parsing – 如何使用Tika从html中提取主文本的有价值信息。

本文目录一览:

如何通过getText()从html中的多个子节点提取动态文本(html获取节点文本)

如何通过getText()从html中的多个子节点提取动态文本(html获取节点文本)

我们有一个Div,其中包含一些硬编码文本,而span则包含一些动态文本值(请参阅下面的HTML代码以获取更多信息)。结果文本为: 1任务将从“
XYZ”更新为“ ABC”

但是当我使用selenium定位器检索时

final String actual = $("#bulk_update_confirmation").text();

然后,实际仅包含“任务要从更新到”。缺少所有动态文本。

HTML代码如下(浏览器为chrome)

<div id="bulk_update_confirmation"scrolltop="0" scrollleft="0">            <span id="taskCountSpan">1</span> Tasks to be updated from <span id="oldStatusSpan">''XYZ''</span> to <span id="newStatusSpan">''ABC''</span> <span id="desciptionSpan"> </span> <br>            <hr>            <div>                <button type="button" id="btn_bulk_update" onclick="updateBulkStatus()">Update</button>                <button type="button" onclick="closeBulkUpdateRequest()">Cancel</button>            </div>        </div>

答案1

小编典典

在尝试提取总文本(例如 1要从“ XYZ”更新为“ ABC”的任务)之前, 您可以使所有三个子 元素的 WebDriverWait
可见, 并且可以使用以下解决方案:

new WebDriverWait(driver, 10).until(ExpectedConditions.and(    ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[@id=''taskCountSpan'']")),    ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[@id=''oldStatusSpan'']")),    ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[@id=''newStatusSpan'']"))));

c# – 如何从html中提取文本

c# – 如何从html中提取文本

我需要提取< body>中存在的所有文本.的 HTML.示例 Html输入: –
<html>
    <title>title</title>
    <body>
           <h1> This is a big title.</h1>
           How are doing you?
           <h3> I am fine </h3>
           <img src="abc.jpg"/>
    </body>
</html>

输出应该是: –

This is a big title. How are doing you? I am fine

我只想将HtmlAgility用于此目的.请不要正则表达式.

我知道如何加载HtmlDocument,然后使用像’// body’这样的xquery,我们可以获取正文内容.但是如何删除输出中显示的html?

提前致谢 :)

解决方法

你可以使用body的InnerText:
string html = @"
<html>
    <title>title</title>
    <body>
           <h1> This is a big title.</h1>
           How are doing you?
           <h3> I am fine </h3>
           <img src=""abc.jpg""/>
    </body>
</html>";

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string text = doc.DocumentNode.SelectSingleNode("//body").InnerText;

接下来,您可能想要折叠空格和新行:

text = Regex.Replace(text,@"\s+"," ").Trim();

但请注意,虽然它在这种情况下工作,但标记如hello< br> world或hello< i> world< / i>将被InnerText转换为helloworld – 删除标签.很难解决这个问题,因为显示由CSS决定,而不仅仅是由标记决定.

html 动态加载text 如何获得text中的值_html/css_WEB-ITnose

html 动态加载text 如何获得text中的值_html/css_WEB-ITnose

用js 动态生成了 三个text   A :text B :text C :text   都没有id    如何  使 A中的值加上B中的值  自动在C中显示


回复讨论(解决方案)

是文本框a+文本框b的值显示在c吗

是文本框a+文本框b的值显示在c吗



对的  加的和 在C中显示 

我的问题是 : 文本框的ID 是变化的 所以根据ID来获取文本框的值 是很麻烦的   我想有没有其他的方法  谢谢

是文本框a+文本框b的值显示在c吗




我想出来了    谢谢哈  太小儿科了  我脑袋短路了    用个this,id就行了


是文本框a+文本框b的值显示在c吗



对的  加的和 在C中显示 

我的问题是 : 文本框的ID 是变化的 所以根据ID来获取文本框的值 是很麻烦的   我想有没有其他的方法  谢谢
应该有个规则可以获取的,你贴下部分html

html 文本框(text)不可用只读的多种实现方法_HTML/Xhtml_网页制作

html 文本框(text)不可用只读的多种实现方法_HTML/Xhtml_网页制作

方法一: 不可用
方法二: 只读
方法三: 隐藏(但占位置)
方法四: 隐藏(不占位置)

有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改。实现的方式归纳一下,有如下几种。

方法1: onfocus=this.blur()

复制代码
代码如下:



方法2:readonly

复制代码
代码如下:




方法3: disabled

复制代码
代码如下:


html-parsing – 如何使用Tika从html中提取主文本

html-parsing – 如何使用Tika从html中提取主文本

我只是想知道如何使用Tika从html中提取主文本和纯文本?

也许一种可能的解决方案是使用BoilerPipeContentHandler,但你有一些示例/演示代码来显示它吗?

首先十分感谢

解决方法

这是一个示例:

public String[] tika_autoparser() {
    String[] result = new String[3];
    try {
        InputStream input = new FileInputStream(new File("/Users/nazanin/Books/Web crawler.pdf"));
        ContentHandler textHandler = new BodyContentHandler();
        Metadata Metadata = new Metadata();
        AutoDetectParser parser = new AutoDetectParser();
        ParseContext context = new ParseContext();
        parser.parse(input,textHandler,Metadata,context);
        result[0] = "Title: " + Metadata.get(Metadata.TITLE);
        result[1] = "Body: " + textHandler.toString();
    } catch (FileNotFoundException e) {
        e.printstacktrace();
    } catch (IOException e) {
        e.printstacktrace();
    } catch (SAXException e) {
        e.printstacktrace();
    } catch (TikaException e) {
        e.printstacktrace();
    }

    return result;
}

我们今天的关于如何通过getText从html中的多个子节点提取动态文本的分享已经告一段落,感谢您的关注,如果您想了解更多关于c# – 如何从html中提取文本、html 动态加载text 如何获得text中的值_html/css_WEB-ITnose、html 文本框(text)不可用只读的多种实现方法_HTML/Xhtml_网页制作、html-parsing – 如何使用Tika从html中提取主文本的相关信息,请在本站查询。

本文标签:

上一篇NoClassDefFoundError:Selenium中的org / apache / http / HttpEntity for ChromeDriver吗?(selenium cannot find chrome binary)

下一篇如何从HTML表格的每个单元格中获取文本?(如何从html表格的每个单元格中获取文本内容)