1.0.5 • Published 1 year ago

@nickcuper/node-red-contrib-html-pro v1.0.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

Node RED html parser

Installation

npm i @nickcuper/node-red-contrib-html-pro
yarn add @nickcuper/node-red-contrib-html-pro

FAQ

Common config:

PropTypeRequiredDefaultDescription
PropertystringNopayloadInput data eg: <p>paragraph</p>
Out PropertystringNopayloadOutput data after parsing html

Parser config:

PropTypeRequiredDescription
Return ArraybooleanYesIf not selected will return first element
KeystringYesParsed value will be assign on it
CSS pathstringYesDefine css path https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors
Return asText, Html,Value, AttributeYesReturn data type
AttributestringNoReturns attribute value if defined https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes

Examples:

  • Extract text from div
PropValue
Return Arrayfalse
Keyresult
CSS path.item
Return asText
Attributenone

input:

<div class="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
</div>

output:

  { "result": "Item 1" }
  • Extract text as array
PropValue
Return Arraytrue
Keyresult
CSS path.item
Return asText
Attributenone

input:

<div class="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
</div>

output:

  { "result": ["Item 1", "Item 2", "Item 3"] }
  • Extract data as html
PropValue
Return Arrayfalse
Keyresult
CSS path.item
Return asHtml
Attributenone

input:

<div class="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
</div>

output:

  { "result": "<div class="item">item 1</div>" }
  • Extract value (will work with input|select|textarea)
Props NameValue
Return Arraytrue
Keyresult
CSS path.item
Return asValue
Attributenone

input:

<div class="container">
    <input class="item" value="input value"/>
    <textarea class="item">textarea value</textarea>
    <select class="item" name="pets">
        <option value="Dog" selected>Dog</option>
        <option value="Cat">Cat</option>
    </select>
    <select class="item" name="animals" multiple>
        <option value="Dog">Dog</option>
        <option value="Cat" selected>Cat</option>
        <option value="Racoon" selected>Racoon</option>
    </select>
</div>

output:

  { "result": ["input value", "textarea value", "Dog", ["Cat", "Racoon"]] }
  • Extract element`s attribute value
Props NameValue
Return Arraytrue
Keyresult
CSS path.item
Return asAttribute
Attributesrc

input:

<div class="container">
    <img class="item" src="001.png" alt=""/>
    <img class="item" src="002.png" alt=""/>
    <img class="item" src="003.png" alt=""/>
</div>

output:

  { "result": ["001.png", "002.png", "003.png"] }
  • Extract element's attributes value (if Attribute is not define it will return all props of .item element)
Props NameValue
Return Arraytrue
Keyresult
CSS path.item
Return asAttribute
Attributenone

input:

<div class="container">
    <img class="item" src="001.png" alt=""/>
    <img class="item" src="002.png" alt=""/>
    <img class="item" src="003.png" alt=""/>
</div>

output:

  {
  "result": [
    {
      "class": "item",
      "src": "001.png",
      "alt": ""
    },
    {
      "class": "item",
      "src": "002.png",
      "alt": ""
    },
    {
      "class": "item",
      "src": "003.png",
      "alt": ""
    }
  ]
}

alt text

1.0.5

1 year ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago