两者都用于获取标签之间的WebElement值? 请更新我的假设是否正确。如果错了请详细说明。
答案 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标记中,我们有不同的属性,例如src
,alt
,width
和height
。
如果要从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)
返回作为参数传递的属性的值。