Selenium WebDriver中的getText()和getAttribute()有什么区别?

2022-09-02 22:58:54

两者都用于获取标记之间的 WebElement 值。

我的假设正确吗?如果错了,请详细说明。


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

getAttribute(attr1)你得到'a'

getAttribute(attr2)你得到'b'

getAttribute(attr3)你得到'c'

getText()没有参数,你只能得到“foo”


答案 2

getAttribute() -> 它获取包含 HTML 标记中任何属性之一的文本。假设有一个 HTML 标记,如

<input name="Name Locator" value="selenium">Hello</input>

现在 getAttribute() 获取 'value' 属性的数据,即 “Selenium”。

返回:

属性的当前值或 null(如果未设置该值)。

driver.findElement(By.name("Name Locator")).getAttribute("value")  //

字段值由 getAttribute(“value”) Selenium WebDriver 预定义方法检索,并分配给 String 对象。

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

返回:

此元素的内部文本。

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

将出现“你好”


推荐