For screenshot automation, it is very difficult to locate elements in a row.
Take Storage/Disks, for example. To click on an "expand row" button for ada0, the element containing "ada0" must be located, then the DOM traversed back up to the row group, then back down to the expansion button. The XPath expressions for these traversals are complex, time-consuming to write, and difficult to debug. In turn, this makes screenshot automation slow to create.
Instead, have the datatable assign row-unique IDs or attributes to the elements in a row: "name_ada0", "size_ada0", "expand-row_ada0", and so on. Ideally, the key column would be a parameter, because some tables have a first column that is not the key column.