如何在量角器中传递ElementArrayFinder解析的元素查找器



我想找到一组元素并将引用传递给它们(如何传递?(以备日后使用,这样我就不必"找到他们";再一次

例如,具有dom

<div class='row'>
<label>Foo<label>
<input type="text"/>
</div>
<div class='row'>
<label>Bar<label>
<input type="text"/>
</div>

我查询每一行,并尝试重新映射结果,以便稍后进行简单的断言

const rows=$$("div.row").map(row=>({
label: row.$("label").getText(),
//   element:row <--- this causes stackoverflow
})

正如您所看到的,我想简单地将标签文本重新映射到一个普通对象,并尝试存储element,它将是该特定行的引用查找器。标签部分工作良好,但是,这个"元素"导致堆叠。我之所以想存储这样的查找器,是为了以后可以像这样轻松地使用它:

const values=["v1","v2"];
Promise.all(rows.map((row,idx)=>row.element.$('input').sendKeys(values[idx])));

原则上,这应该有效,但是我不知道如何存储对$$找到的实际行元素的引用。如何获得这样的唯一标识符,然后在量角器API中使用?

类似的东西

const rows = $$("div.row");
const text = await rows.getText() // ['label1', 'label2', 'label3']
let elemMap = text.map((row, idx) => {
label: row,
elem: rows.get(idx)
})

最新更新