HTML Tag Class¶
wdom.dom.Tag
class provides DOM implementation synchronized both on
python and browser.
Tag class¶
Web-connected HTML tag classes.
-
class
wdom.tag.
Tag
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None[source]¶ Bases:
wdom.web_node.WdomElement
Base class for html tags.
HTMLElement
requires to specify tag name when instanciate it, but this class and sublasses have default tag name and not need to specify it for each thier instances.-
tag
= 'tag'¶ Tag name used for this node.
-
type_
= ''¶ use for <input> tag’s type
-
is_
= ''¶ custom element which extends built-in tag (like <table is=”your-tag”>)
-
addClass
(*classes)¶ [Not Standard] Add classes to this node.
Return type: None
-
after
(*nodes)¶ Append nodes after this node.
If nodes contains
str
, it will be converted to Text node.Return type: None
-
append
(*nodes)¶ Append new nodes after last child node.
Return type: None
-
appendChild
(child)¶ Append child node at the last of child nodes.
If this instance is connected to the node on browser, the child node is also added to it.
Return type: Node
-
before
(*nodes)¶ Insert nodes before this node.
If nodes contains
str
, it will be converted to Text node.Return type: None
-
childNodes
¶ Return child nodes of this node.
Returned object is an instance of NodeList, which is a list like object but not support any modification. NodeList is a live object, which means that changes on this node is reflected to the object.
Return type: NodeList
[]
-
className
¶ Get/Set class name as/by string.
Return type: str
-
click
()¶ Send click event.
Return type: None
-
cloneNode
(deep=False)¶ Return new copy of this node.
If optional argument
deep
is specified and is True, new node has clones of child nodes of this node (if presents).Return type: AbstractNode
-
connected
¶ When this instance has any connection, return True.
Return type: bool
-
dispatchEvent
(event)¶ Emit events.
Return type: None
-
draggable
¶ Get
draggable
property.Return type: Union
[bool
,str
]
-
empty
()¶ Remove all child nodes from this node.
Return type: None
-
end_tag
¶ Retrun html end tag.
If tag is empty tag like <img> or <br>, return empty string.
Return type: str
-
exec
(script)¶ Execute JavaScript on the related browser node.
Return type: None
-
firstChild
¶ Return the first child node.
If this node does not have any child, return
None
.Return type: Optional
[AbstractNode
]
-
firstElementChild
¶ First Element child node.
If this node has no element child, return None.
Return type: Optional
[AbstractNode
]
-
getAttributeNode
(attr)¶ Get attribute of this node as Attr format.
If this node does not have
attr
, return None.Return type: Optional
[Attr
]
-
getBoundingClientRect
()¶ Get size of this node on browser.
Return type: None
-
getElementsBy
(cond)¶ Return list of child elements of start_node which matches
cond
.cond
must be a function which gets a single argumentElement
, and returns boolean. If the node matches requested condition,cond
should return True. This searches all child elements recursively.Parameters: - start_node (ParentNode) –
- cond – Callable[[Element], bool]
Return type:
-
getElementsByClassName
(class_name)¶ Get child nodes which has
class_name
class attribute.Return type: NodeList
[]
-
get_class_list
()¶ Get class-level class list, including all super class’s.
Return type: DOMTokenList
[]
-
hasAttribute
(attr)¶ Return True if this node has
attr
.Return type: bool
-
hasAttributes
()¶ Return True if this node has any attributes.
Return type: bool
-
hasChildNodes
()¶ Return True if this node has child nodes, otherwise return False.
Return type: bool
-
hasClass
(class_)¶ [Not Standard] Return if this node has
class_
class or not.Return type: bool
-
hasClasses
()¶ [Not Standard] Return if this node has any classes or not.
Return type: bool
Getter: Return True if this element has
hidden
attribute. Otherwise return False. Setter: If True, addhidden
attribute to this element. Otherwise removehidden
. Deleter: Removehidden
attribute from this element.Return type: bool
-
hide
()¶ [Not Standard] Hide this node on browser.
Return type: None
-
html
¶ Return HTML representation of this node.
Return type: str
-
html_noid
¶ Get html representation of this node without wdom_id.
Return type: str
-
id
¶ Getter: Get value of
id
attribute of this element, as string. If id is not defined, return empty string. Setter: Set the value ofid
attribute of this element. Deleter: Removeid
attribute from this element.Return type: str
-
index
(node)¶ Return index of the node.
If the node is not a child of this node, raise
ValueError
.Return type: int
-
innerHTML
¶ Return HTML representation of child nodes.
Return type: str
-
insertAdjacentHTML
(position, html)¶ Parse
html
to DOM and insert toposition
.position
is a case-insensive string, and must be one of “beforeBegin”, “afterBegin”, “beforeEnd”, or “afterEnd”.Return type: None
-
insertBefore
(child, ref_node)¶ Insert new child node before the reference child node.
If the reference node is not a child of this node, raise ValueError. If this instance is connected to the node on browser, the child node is also added to it.
Return type: Node
-
js_exec
(method, *args)¶ Execute
method
in the related node on browser.Other keyword arguments are passed to
params
attribute. If this node is not in any document tree (namely, this node does not have parent node), themethod
is not executed.Return type: None
-
js_query
(query)¶ Send query to related DOM on browser.
Parameters: query (str) – single string which indicates query type. Return type: Awaitable
[+T_co]
-
lastChild
¶ Return the last child node.
If this node does not have any child, return
None
.Return type: Optional
[AbstractNode
]
-
lastElementChild
¶ Last Element child node.
If this node has no element child, return None.
Return type: Optional
[AbstractNode
]
-
length
¶ Return number of child nodes.
Return type: int
-
localName
¶ Return tag name (lower case).
Return type: str
-
nextElementSibling
¶ Next Element Node.
If this node has no next element node, return None.
Return type: Optional
[AbstractNode
]
-
nextSibling
¶ Return the next sibling of this node.
If there is no next sibling, return
None
.Return type: Optional
[AbstractNode
]
-
nodeName
¶ Return tag name (capital case).
Return type: str
-
on_event_pre
(event)¶ Run before dispatching events.
Used for seting values changed by user input, in some elements like input, textarea, or select. In this method, event.currentTarget is a dict sent from browser.
Return type: None
-
on_response
(msg)¶ Run when get response from browser.
Return type: None
-
outerHTML
¶ Return html representation of this node.
Equivalent to
self.html
.Return type: str
-
ownerDocument
¶ Return the owner document of this node.
Owner document is an ancestor document node of this node. If this node (or node tree including this node) is not appended to any document node, this property returns
None
.Return type: Document or None
-
parentNode
¶ Return parent node.
If this node does not have a parent, return
None
.Return type: Optional
[AbstractNode
]
-
prepend
(*nodes)¶ Insert new nodes before first child node.
Return type: None
-
previousElementSibling
¶ Previous Element Node.
If this node has no previous element node, return None.
Return type: Optional
[AbstractNode
]
-
previousSibling
¶ Return the previous sibling of this node.
If there is no previous sibling, return
None
.Return type: Optional
[AbstractNode
]
-
query
(relativeSelectors)¶ Not Implemented.
Return type: AbstractNode
-
querySelector
(selectors)¶ Not Implemented.
Return type: AbstractNode
-
remove
()¶ Remove this node from parent’s DOM tree.
Return type: None
-
removeAttribute
(attr)¶ Remove
attr
from this node.Return type: None
-
removeChild
(child)¶ Remove the child node from this node.
If the node is not a child of this node, raise ValueError.
Return type: Node
-
removeClass
(*classes)¶ [Not Standard] Remove classes from this node.
Return type: None
-
replaceWith
(*nodes)¶ Replace this node with nodes.
If nodes contains
str
, it will be converted to Text node.Return type: None
-
rimo_id
¶ [Deprecated] Alias to wdom_id.
rimo_id is renamed to wdom_id.
Return type: str
-
setAttribute
(attr, value)¶ Set
attr
andvalue
in this node.Return type: None
-
setAttributeNode
(attr)¶ Set
Attr
node as this node’s attribute.Return type: None
-
show
()¶ [Not Standard] Show this node on browser.
Return type: None
-
start_tag
¶ Return HTML start tag.
Return type: str
-
style
¶ Return style attribute of this node.
Return type: CSSStyleDeclaration
-
tagName
¶ Return tag name (capital case).
Return type: str
-
textContent
¶ Return text contents of this node and all chid nodes.
When any value is set to this property, all child nodes are removed and new value is set as a text node.
Return type: str
-
title
¶ Getter: Get value of
title
attribute of this element, as string. If title is not defined, return empty string. Setter: Set the value oftitle
attribute of this element. Deleter: Removetitle
attribute from this element.Return type: str
-
wdom_id
¶ Get wdom_id attribute.
This attribute is used to relate python node and browser DOM node.
Return type: str
-
ws_send
(obj)¶ Send
obj
as message to the related nodes on browser.Parameters: obj (dict) – Message is serialized by JSON object and send via WebSocket connection. Return type: None
-
-
wdom.tag.
NewTagClass
(class_name, tag=None, bases=(<class 'wdom.tag.Tag'>, ), **kwargs)[source]¶ Generate and return new
Tag
class.If
tag
is empty, lower case ofclass_name
is used for a tag name of the new class.bases
should be a tuple of base classes. If it is empty, useTag
class for a base class. Other keyword arguments are used for class variables of the new class.Example:
MyButton = NewTagClass('MyButton', 'button', (Button,), class_='btn', is_='my-button') my_button = MyButton('Click!') print(my_button.html) >>> <button class="btn" id="111111111" is="my-button">Click!</button>
Return type: type
-
class
wdom.tag.
RawHtmlNode
(*args: typing.Any, **kwargs: typing.Any) → None[source]¶ Bases:
wdom.tag.Tag
Does not escape inner contents, similar to
<script>
tag.This node wraps contents by
<div style="display: inline">...</div>
and does not escape inner text. Similar towdom.node.RawHtmlNode
, but the difference is this class wraps text by div tag. This enables to treat multi-tag html string as if it’s single node.Useful for showing generated HTML contents, like markdown conversion result, graph plots, or HTML formatted reports. Usually faster than
Tag.innerHTML = html
, since this node skips html parsing process to WdomElement.Example:
doc.body.appnd(RawHtml('<h1>Title</h1>'))
Note
Inner html is not WdomElement, so you cant control them from python.
Add
display: inline
style on div tag.
List of HTML Tag Classes¶
-
class
wdom.tag.
A
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
Body
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Br
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Button
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
Cite
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Code
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Dd
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Div
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Dl
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Dt
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Em
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Form
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
H1
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
H2
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
H3
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
H4
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
H5
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
H6
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Head
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Hr
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Html
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Img
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Input
(*args: typing.Any, **kwargs: typing.Any) → None[source]¶ Bases:
wdom.tag.Tag
,wdom.element.HTMLInputElement
Base class for
<input>
element.
-
class
wdom.tag.
Label
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
Li
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Link
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Meta
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Ol
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Option
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
P
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Pre
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Script
(*args: typing.Any, type: str = 'text/javascript', **kwargs: typing.Any) → None[source]¶ Bases:
wdom.tag.Tag
,wdom.element.HTMLScriptElement
Base class for <script> tag.
Inner contents of this node is not escaped.
-
class
wdom.tag.
Select
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
Span
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Strong
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Style
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶
-
class
wdom.tag.
Table
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Tbody
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Td
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Textarea
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None[source]¶ Bases:
wdom.tag.Tag
,wdom.element.HTMLTextAreaElement
Base class for
<textarea>
element.
-
class
wdom.tag.
Tfoot
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Th
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Thead
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Title
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Tr
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
U
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag
-
class
wdom.tag.
Ul
(*args: typing.Any, attrs: typing.Dict[str, typing.Union[typing.List[str], str, int, wdom.css.CSSStyleDeclaration, NoneType]] = None, **kwargs: typing.Any) → None¶ Bases:
wdom.tag.Tag