首页 > 解决方案 > Testcafe:如何不是从 html 代码(选择器)而是在 UI 上的字段中获取文本

问题描述

我需要从 UI 上的字段(输入)中写入的文本中提取部分字符串(此文本不在 HTML 代码中)。我正在尝试这样的事情(但它不起作用)。

const textInput = await model.inputtTittle.textContent;
console.log(textInput)

没有返回可能 textContent 从选择器中获取文本,我正在尝试使用 .innerText 但它也没有返回任何内容。

然后我想这样写:

 if (textInput.length > 32)
     await t.typeText(model.inputTittle, textInput.substr(0, 30));

如果我有字段 inputTittle 的内容,我希望它会起作用。

附加问题:

这个答案是隐藏的。这个答案在 16 小时前被 Jason Aller、Mark Rotteveel、Nico Haase、Botje 的评论删除。此代码有效:

const textTittle = await model.inputTittle.value;

const textlength = textTittle.length

if (textlength>32)

{
console.log(textTittle.substr(0,30));

为什么我不能写得更短:

如果(等待 model.inputTittle.value.length >32)

 { console.log(await model.inputTittle.value.substr(0,30));}

标签: htmltestingdomautomated-teststestcafe

解决方案


您可以在一个对象中获取包含所有属性的整个DOM 节点快照,以检查您需要哪些属性。您很可能需要该value 属性


推荐阅读