在Selenium WebDriver中区分b / w getText()和getAttribute()?

时间:2015-08-31 09:12:02

标签: java selenium selenium-webdriver

两者都用于获取标签之间的WebElement值? 请更新我的假设是否正确。如果错了请详细说明。

4 个答案:

答案 0 :(得分:29)

  <input attr1='a' attr2='b' attr3='c'>foo</input>

getAttribute(attr1)你得到了&#39;

getAttribute(attr2)你会得到&#39; b&#39;

getAttribute(attr3)你得到了&#39;

getText()没有参数,您只能获得&#39; foo&#39;

答案 1 :(得分:6)

getAttribute() - &gt;它获取包含HTML标记中任何属性之一的文本。假设有像

这样的HTML标签
<input name="Name Locator" value="selenium">Hello</input>

现在getAttribute()获取值为“Selenium”的属性数据

返回: 属性的当前值,如果未设置该值,则为null。

driver.findElement(By.name("Name Locator")).getAttribute("value")  // The field value is retrieved by the getAttribute("value") Selenium WebDriver predefined method and assigned to the String object.

getText() - &gt;提供WebElement的innerText。 获取此元素的可见(即不被CSS隐藏)innerText,包括子元素,没有任何前导或尾随空格。

返回: 这个元素的innerText。

driver.findElement(By.name("Name Locator")).getText();

你好会出现

答案 2 :(得分:1)

<img src="w3schools.jpg" alt="W3Schools.com" width="104" height="142">

在上面的html标记中,我们有不同的属性,例如srcaltwidthheight

如果要从html标记上方获取任何属性值,则必须在getAttribute()方法中传递属性值

语法:

getAttribute(attributeValue)
getAttribute(src) you get w3schools.jpg
getAttribute(height) you get 142
getAttribute(width) you get 104 

答案 3 :(得分:0)

  

getText():获取可见(即未被CSS隐藏)的innerText   元素,包括子元素,没有任何前导或尾随   空格。

     

getAttribute(String attrName):获取元素的给定属性的值。   将返回当前值,即使之后已经修改过   页面已加载。更准确地说,这种方法将返回   除非该属性不存在,否则给定属性的值   在哪种情况下,返回具有相同名称的属性的值   (例如,对于textarea元素的&#34; value&#34;属性)。如果   既没有设置值,也返回null。 &#34;风格&#34;属性是   转换为最佳可以是带有尾随的文本表示   分号。以下被认为是&#34; boolean&#34;属性,和   将返回&#34; true&#34;或null:异步,自动对焦,自动播放,   检查,紧凑,完成,控制,声明,默认检查,   defaultselected,defer,disabled,draggable,ends,formnovalidate,   隐藏的,不确定的,iscontenteditable,ismap,itemscope,循环,   多重,静音,nohref,noresize,noshade,novalidate,nowrap,open,   暂停,发布,readonly,必需,反转,作用域,无缝,   寻求,选择,拼写检查,truespeed,willvalidate最后,   以下通常错误大写的属性/属性名称是   按预期评估:&#34; class&#34; &#34;只读&#34;

getText()返回元素的可见文字。

getAttribute(String attrName)返回作为参数传递的属性的值。