使用Geb text()vs value()只是一个小小的澄清。
根据Geb文件:
值文本被特别视为与节点文本的匹配。
对于value():
调用不带参数的value()将返回导航器中第一个元素的String值。
根据我的理解,通过反复试验,text()可用于检查/设置特定元素中的文本内容,EXCEPT表单元素。 value()用于检查/设置表单元素的内容。
assertThat($("h1").text()).isEqualTo("Geb") // will work
assertThat($("input").value()).isEqualTo("Geb") // will work
assertThat($("input").text()).isEqualTo("Geb") // will not work
这是对的吗?还是有更大的区别?我在文档中找不到任何实质性的描述。
提前致谢!
答案 0 :(得分:4)
您不能使用text()
设置任何内容,它只返回第一个元素的文本内容。它基本上委托给WebElement.getText()。
您引用的文字:
值文本被特别视为与节点文本的匹配。
使用属性选择器,如`$(“div”,text:“Lorem ipsum ...”)。
是的,value()
和value(Object)
可用于检索和设置输入的值/文本。