我使用testcafe
测试框架 - https://devexpress.github.io/testcafe
我写了以下代码:
const table = Selector('#table');
for(let i = 0; i < table.rows.length; i++){
for(let j = 0; j < table.columns.length; j++) {
let tdText = await table.rows[i].cells[j].textContent;
//another actions
}
}
如何使用testcafe获取表格中所有单元格的文本?
答案 0 :(得分:4)
Selector提供方法和属性来选择页面上的元素并获取它们的状态,但没有&#39;行&#39;和&#39;列&#39;属性。
因此,请使用以下解决方案:
const table = Selector('#table');
const rowCount = await table.find('tr').count;
const columnCount = await table.find('tr').nth(0).find('td').count;
for(let i = 0; i < rowCount; i++) {
for(let j = 0; j < columnCount; j++) {
let tdText = await table.find('tr').nth(i).find('td').nth(j).textContent;
//another actions
}
}
请注意,Selector提供&#39; find&#39;和&#39; n&#39;函数自v0.11.0起(它将很快发布,但它已经可用npm&#34; alpha&#34; tag)。
答案 1 :(得分:2)
您需要所有文字内容吗?在这种情况下,您只需使用ClientFunction
import { ClientFunction } from 'testcafe';
const getInnerText = ClientFunction(() => document.getElementById('table').innerText);
const text = await getInnerText();