0

Ich benutze die testcafe Test Framework - https://devexpress.github.io/testcafe.
Ich schrieb den folgenden Code:Wie bekomme ich einen Text von allen Zellen der Tabelle mit 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 
    } 
} 

Wie kann ich einen Text von allen Zellen der Tabelle mit testcafe bekommen kann?

+0

'lassen I' wahrscheinlich sein sollte' lassen I' und 'table.rows.lenght' wahrscheinlich' table.rows.length' sein sollte. – RobG

+0

Ok. Ich habe das Codebeispiel aktualisiert. Und es funktioniert immer noch nicht. – mlosev

Antwort

0

Selector bietet Methoden und Eigenschaften zum Auswählen von Elementen auf der Seite und zum Abrufen ihres Status, hat aber keine Eigenschaften für Zeilen und Spalten.

So verwenden Sie die folgende Lösung:

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 
    } 
} 

Beachten Sie, dass Selector seit v0.11.0 ‚finden‘ und ‚n‘ Funktionen zur Verfügung stellt (es bald erscheinen wird, aber es ist noch verfügbar mit npm „alpha“ Etikett).

0

Benötigen Sie alle Textinhalte? In diesem Fall können Sie nur ClientFunction verwenden

import { ClientFunction } from 'testcafe'; 

const getInnerText = ClientFunction(() => document.getElementById('table').innerText); 

const text = await getInnerText(); 
Verwandte Themen