Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QWebElement类提供了一个便捷的DOM元素QWebFrame。More...
该QWebElement类提供了一个便捷的DOM元素QWebFrame。
一个QWebElement对象可以方便地访问文档模型,通过DOM元素的树形结构来表示。树的根被称为文档元素,并且可以使用访问QWebFrame.documentElement( ) 。
特定元素可以使用访问findAll()和findFirst( ) 。这些元素是使用CSS选择确定。下面的代码片断演示了使用findAll( ) 。
QWebElement document = frame->documentElement(); /* Assume the document has the following structure: <p class=intro> <span>Intro</span> <span>Snippets</span> </p> <p> <span>Content</span> <span>Here</span> </p> */ QWebElementCollection allSpans = document.findAll("span"); QWebElementCollection introSpans = document.findAll("p.intro span");
第一个列表包含所有span在文档中的元素。第二个列表包含span这是子元素p,与分类intro。
Using findFirst( )比调用更有效率findAll() ,并仅提取列表中的第一个元素返回。
另外,您可以使用手动遍历文档firstChild()和nextSibling():
frame->setHtml("<html><body><p>First Paragraph</p><p>Second Paragraph</p></body></html>"); QWebElement doc = frame->documentElement(); QWebElement body = doc.firstChild(); QWebElement firstParagraph = body.firstChild(); QWebElement secondParagraph = firstParagraph.nextSibling();
单个元素可以使用的方法,例如进行检查或更换attribute()或setAttribute( ) 。举个例子来说,捕捉用户的输入中供以后使用(自动完成)的文本字段,浏览器可以做这样的事情:
QWebElement firstTextInput = document.findFirst("input[type=text]"); QString storedText = firstTextInput.attribute("value");
当在同一个页面稍后再访,浏览器可以在文本字段自动修改输入元素的值属性填写:
QWebElement firstTextInput = document.findFirst("input[type=text]"); textInput.setAttribute("value", storedText);
另一个用例是模拟一个click事件的元素上。下面的代码片断演示了如何调用一个提交按钮的JavaScript DOM方法点击( ) :
QWebElement document = frame->documentElement(); /* Assume that the document has the following structure: <form name="myform" action="submit_form.asp" method="get"> <input type="text" name="myfield"> <input type="submit" value="Submit"> </form> */ QWebElement button = document.findFirst("input[type=submit]"); button.evaluateJavaScript("this.click()");
QWebElement的基本内容是公开共享的。创建QWebElement的副本不会创建内容的副本。相反,这两个实例指向同一个元素。
子元素中的内容可以被转换为纯文本toPlainText();使用到XHTMLtoInnerXml( ) 。要包含元素的标记输出,使用toOuterXml( ) 。
它是可能使用替换子元素的含量setPlainText()和setInnerXml( ) 。要更换元件本身及其内容,请使用setOuterXml( ) 。
该DOM Traversal Example显示遍历文件在运行的例子的方法之一。
该Simple Selector Example可用于尝试这个类的搜索功能,并提供示例代码,你可以开始工作。
这个枚举说明如何QWebElement的styleProperty解决给定的属性名。
Constant | Value | Description |
---|---|---|
QWebElement.InlineStyle | 0 | 返回属性值,因为它是在元素中定义,不尊重样式继承和其它CSS规则。 |
QWebElement.CascadedStyle | 1 | 该属性的值是使用在文档的样式表中定义的继承和重要性规则确定。 |
QWebElement.ComputedStyle | 2 | 该属性的值是从环境中解决了样式属性的绝对值。 |
构造一个空的网络元素。
构造的副本other。
用给定的添加指定的类name到的元素。
附加解析的结果markup作为元素的最后一个子。
空元素上调用这个函数什么都不做。
See also prependInside( )prependOutside()和appendOutside( ) 。
添加给定的element作为元素的最后一个子。
If element是另一个元素的子元素,它是重新父此元素。如果element在此元素的子元素,那么其在儿童中的列表中的位置被改变。
空元素上调用这个函数什么都不做。
See also prependInside( )prependOutside()和appendOutside( ) 。
插入解析的结果markup这个元素之后。
空元素上调用这个函数什么都不做。
See also appendInside( )prependInside()和prependOutside( ) 。
插入给定element这个元素之后。
If element是另一个元素的子元素,它是重新父到这个元素的父元素。
空元素上调用这个函数什么都不做。
See also appendInside( )prependInside()和prependOutside( ) 。
返回的属性列表对于给定的命名空间namespaceUri。
See also attribute()和setAttribute( ) 。
返回属性与给定name在namespaceUri。如果属性不存在,defaultValue返回。
See also setAttributeNS( )setAttribute()和attribute( ) 。
返回的类此元素的列表。
返回此元素的一个克隆。
该克隆可在任何点在文件中插入。
See also appendInside( )prependInside( )prependOutside()和appendOutside( ) 。
返回此元素属于文档。
封闭此元素的内容与element。这个元素变成内最深的后代的孩子element。
###插图
See also encloseWith( ) 。
封闭此元素的内容与解析的结果markup。这个元素变成内最深的后代的孩子markup。
See also encloseWith( ) 。
包围该元素与解析的结果markup。这个元素变成内最深的后代的孩子markup。
See also replace( ) 。
包围该元素与element。这个元素变成内最深的后代的孩子element。
See also replace( ) 。
Executes scriptSource以这个项目为this对象。
返回子元素匹配给定的CSS选择一个新的列表selectorQuery。如果没有匹配的元素,则返回一个空列表。
Standard CSS2 selector语法用于查询。
Note:这种搜索是递归执行。
See also findFirst( ) 。
返回匹配给定的CSS选择器的第一个子元素selectorQuery。
Standard CSS2 selector语法用于查询。
Note:这种搜索是递归执行。
See also findAll( ) 。
返回元素的第一个孩子。
See also lastChild( )previousSibling()和nextSibling( ) 。
返回此元素的几何形状,相对于其包含框架。
See also tagName( ) 。
如果此元素具有与给定的属性,则返回Truename否则返回False 。
See also attribute()和setAttribute( ) 。
如果此元素具有与给定的属性,则返回Truename在namespaceUri否则返回False 。
See also attributeNS()和setAttributeNS( ) 。
返回True如果该元素具有定义的任何属性,否则返回False ;
See also attribute()和setAttribute( ) 。
如果此元素有一个类用给定的,则返回Truename否则返回False 。
返回True如果该元素具有键盘输入焦点,否则返回False
See also setFocus( ) 。
返回True如果该元素是一个空元素,否则返回False 。
返回元素的最后一个子。
See also firstChild( )previousSibling()和nextSibling( ) 。
返回元素的本地名称。如果元素没有使用名称空间,则返回一个空字符串。
返回此元素的命名空间URI 。如果元素没有命名空间URI ,则返回一个空字符串。
返回元素的下一个兄弟。
See also firstChild( )previousSibling()和lastChild( ) 。
返回此elemen的父元素。如果该元素是根文档元素,则返回一个空元素。
返回元素的命名空间前缀。如果元素没有命名空间前缀,则返回空字符串。
预先规划解析结果markup作为元素的第一个孩子。
空元素上调用这个函数什么都不做。
See also appendInside( )prependOutside()和appendOutside( ) 。
预先考虑element作为元素的第一个孩子。
If element是另一个元素的子元素,它是重新父此元素。如果element在此元素的子元素,那么其在儿童中的列表中的位置被改变。
空元素上调用这个函数什么都不做。
See also appendInside( )prependOutside()和appendOutside( ) 。
插入解析的结果markup在此之前的元素。
空元素上调用这个函数什么都不做。
See also appendInside( )prependInside()和appendOutside( ) 。
插入给定element在此之前的元素。
If element是另一个元素的子元素,它是重新父到这个元素的父元素。
空元素上调用这个函数什么都不做。
See also appendInside( )prependInside()和appendOutside( ) 。
返回元素的前一个同级。
See also firstChild( )nextSibling()和lastChild( ) 。
从此元素移除所有子项。
See also removeFromDocument()和takeFromDocument( ) 。
删除该属性与给定name从这个项目。
See also attribute( )setAttribute()和hasAttribute( ) 。
删除该属性与给定name在namespaceUri,从这个项目。
See also attributeNS( )setAttributeNS()和hasAttributeNS( ) 。
用给定的移除指定的类name从元素。
删除这个元素从文档中,并使其空元素。
See also removeAllChildren()和takeFromDocument( ) 。
渲染元素融入painter。
渲染元素融入painter削波clip。
替换该元素与解析的结果markup。
这种方法不会取代\u003cHTML\u003e , \u003cHEAD\u003e或\u003cBODY\u003e元素。
See also encloseWith( ) 。
替换该元素与element。
这种方法不会取代\u003cHTML\u003e , \u003cHEAD\u003e或\u003cBODY\u003e元素。
See also encloseWith( ) 。
添加一个属性与给定name和value。如果具有相同名称的属性存在,它的值被替换value。
See also attribute( )attributeNS()和setAttributeNS( ) 。
添加一个属性与给定name在namespaceUri同value。如果具有相同名称的属性存在,它的值被替换value。
See also attributeNS( )attribute()和setAttribute( ) 。
使键盘输入焦点设定到此元素
See also hasFocus( ) 。
替换这个元素的内容与markup。字符串可能包含HTML或XML标籤,其被解析并插入之前格式化成文档。
Note:这是目前的( X)HTML元素只有实施。
See also toInnerXml( )toOuterXml()和setOuterXml( ) 。
替换此元素的内容,以及它自己的标记与markup。字符串可能包含HTML或XML标籤,其被解析并插入之前格式化成文档。
Note:这是目前仅实施了( X)HTML元素。
See also toOuterXml( )toInnerXml()和setInnerXml( ) 。
替换该元素与现有的内容text。
这等效于设置在HTML innerText属性。
See also toPlainText( ) 。
设置内嵌样式的值与给定name至value。
设置一个值,并不一定意味着它将成为应用价值,由于该样式属性的值可能已设置较早具有较高优先级的外部或内嵌式声明的事实。
为了确保该值将被应用,你可能要追加!“重要”的价值。
See also styleProperty( ) 。
返回样式的值与给定name使用指定的strategy。如果与风格name不存在,则返回一个空字符串。
在CSS中,该级联部分取决于它的CSS规则的优先级,因而应用。一般情况下,最后定义的规则优先。因此,内联样式规则优先于嵌入块样式规则,作为回报优先于外部的样式规则。
如果“ !重要的”声明被设置于其中的一个,申报接收优先级最高,除非其他声明也使用了“ !重要”的宣言。然后,最后“ !重要”的声明发生predecence 。
See also setStyleProperty( ) 。
返回此元素的标籤名称。
See also geometry( ) 。
删除这个元素从文档并返回一个引用。
该元件仍然有效去除后,可插入到文档的其他部分。
See also removeAllChildren()和removeFromDocument( ) 。
用给定的添加指定的类name如果它不存在。如果该类已存在,它将被删除。
返回元素的开始和结束标籤之间的XML内容。
Note:这是目前的( X)HTML元素只有实施。
Note:返回的标记的格式将服从包含该元素的文档的命名空间。这意味着返回值会服从的XML格式规则,如自闭标籤,只有当文件是文本/ xhtml + xml “ 。
See also setInnerXml( )setOuterXml()和toOuterXml( ) 。
返回该元素转换为XML ,包括开始和结束标记,以及它的属性。
Note:这是目前的( X)HTML元素只有实施。
Note:返回的标记的格式将服从包含该元素的文档的命名空间。这意味着返回值会服从的XML格式规则,如自闭标籤,只有当文件是文本/ xhtml + xml “ 。
See also setOuterXml( )setInnerXml()和toInnerXml( ) 。
返回开始和这个元素的结束标籤之间的文本。
这相当于读取HTML innerText属性。
See also setPlainText( ) 。
返回web框架而这个元素是的一部分。如果元素是一个空元素,则返回null 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |