等待textarea中的文本更改

时间:2017-04-03 13:49:44

标签: java selenium xpath

我将textarea定义为<textarea id="EmailMessage">

在您选择页面中的其他参数之前,textarea中包含某种通用文字。

当您将此框的值更改为“外部”时,电子邮件框中的文字会变得更具体:

enter image description here

然后文本看起来像这样:

enter image description here

在电子邮箱中。我想读这个,但我注意到,如果我太快读它,它仍然会有旧文本。我通过查找元素然后获取值来读取文本:

String txt = ele.getAttribute("value").

所以我想等到“SubAccount”出现在框中,所以我使用了一个xpath:

//textarea[@id='EmailMessage' and contains(@value, 'SubAccount')]

但它超时等待该元素。如果我搜索该元素,还在chrome检查中

//textarea [@id='EmailMessage' and contains(@value,'SubAccount')]

也没找到。

这有什么理由吗?我该怎么搜索?

如果重要,我正在使用Eclipse(Mars),Java和Chrome。

1 个答案:

答案 0 :(得分:0)

您应该可以使用'id'直接访问textarea。如果没有,则检查textarea是否在iframe内。

使用ExpectedConditions - textToBePresentInElementValue(elem, text)等待所需的文字可见。或者您可以使用attributeContains(elem, value, text)等待新文本显示。 Expected Condition