我试图通过应用程序从文本区域中获取文本(例如abc)。源代码中的标记文本区域不包含abc,尽管它在屏幕上可见,并且我想捕获它。
我尝试使用Robot Framework的Get Text
关键字,但返回的值为空。我需要了解我还能使用什么来获取文本区域值。
${ExceptionValue} = Get Text xpath=//textarea[contains(text(),'abc')]
预期结果为${ExceptionValue}
的值不应为空,因为文本区域中有文本。但是返回的值为空。
答案 0 :(得分:1)
在<textarea>
中输入的文本实际上存储在其属性value
中,它不是文本的一部分。您可以通过键入一些内容,然后通过浏览器中的“检查元素”将其打开来查看-如您所说,您可以在页面中看到键入的文本,但它不在HTML源代码的开始和结束标记之间。
因此,关键字Get Text
向您返回了一个空字符串-它适用于这些开始和结束标记之间的内容。要获取实际值(您输入的内容),请获取属性value
的值,为此,请使用关键字Get Element Attribute
:
${my typed text}= Get Element Attribute locator_for_the_element value
答案 1 :(得分:1)
使用Get Value
关键字代替。仅当文本在源页面或DOM中可见时,“获取文本”才适用。请尝试以下方法。
${ExceptionValue} = Get Value xpath=//textarea[contains(text(),'abc')]
请告诉我这是否可以解决问题。