Dynamic scrolling table

scrolling rows not in table but divs

As you scroll down the data loads the next pagnated rows, any help with a script to scrape this greatly appreciated.

@amscraper Hello! You should be able to paginate through these pages by using the 'SelectorPagination' - li.active + li:not(.disabled) a

1 Like

@ViestursWS - Hi thanks for that - Any Idea why my header rows are reorganised)?

Some data is missing in some cells it appears it is fetched from an API for some dynamic data. But cant see why some are missing and some reorderd? (as Ive taken all the HTML (to clean later in excel)

{"_id":"dextools","startUrl":["https://www.dextools.io/app/ether/pool-explorer"],"selectors":[{"delay":0,"id":"datatable","multiple":true,"parentSelectors":["_root"],"selector":".ngx-datatable div.visible","type":"SelectorElement"},{"delay":0,"id":"table","multiple":false,"parentSelectors":["datatable"],"selector":"datatable-scroller","type":"SelectorElement"},{"delay":0,"id":"headr","multiple":true,"parentSelectors":["datatable"],"selector":".datatable-header-inner div.datatable-row-center","type":"SelectorElement"},{"delay":0,"id":"rows","multiple":true,"parentSelectors":["table"],"selector":"datatable-row-wrapper:nth-of-type(2) div.datatable-row-center","type":"SelectorElement"},{"delay":0,"id":"stuff","multiple":true,"parentSelectors":["rows"],"regex":"","selector":"div","type":"SelectorHTML"},{"delay":0,"id":"header-cells","multiple":true,"parentSelectors":["headr"],"selector":"datatable-header-cell","type":"SelectorElement"},{"delay":0,"id":"header-text","multiple":true,"parentSelectors":["headr"],"regex":"","selector":"span.datatable-header-cell-label","type":"SelectorText"}]}

@amscraper Hi. To extract the table data, you should use an 'Element' selector - div.datatable-row-center.datatable-row-group targeting each of the table row and set the remaining selectors as a 'child' to it targeting each of the cell.

If necessary you can sort the scraped results by the 'web-scraper-order'.

Example:

{"_id":"dextools-edit","startUrl":["https://www.dextools.io/app/ether/pool-explorer"],"selectors":[{"delay":0,"id":"table-row-wrapper","multiple":true,"parentSelectors":["_root"],"selector":"div.datatable-row-center.datatable-row-group","type":"SelectorElement"},{"delay":0,"id":"Token","multiple":false,"parentSelectors":["table-row-wrapper"],"regex":"","selector":"datatable-body-cell:nth-of-type(1) div","type":"SelectorText"},{"delay":0,"extractAttribute":"src","id":"Exchange","multiple":false,"parentSelectors":["table-row-wrapper"],"selector":"datatable-body-cell:nth-of-type(2) img","type":"SelectorElementAttribute"},{"delay":0,"id":"Listed Since","multiple":false,"parentSelectors":["table-row-wrapper"],"regex":"","selector":"datatable-body-cell:nth-of-type(3) div","type":"SelectorText"},{"delay":0,"extractAttribute":"href","id":"Actions","parentSelectors":["table-row-wrapper"],"selector":"datatable-body-cell:nth-of-type(4) div a","type":"SelectorGroup"},{"delay":0,"id":"Pool Remaining","multiple":false,"parentSelectors":["table-row-wrapper"],"regex":"","selector":"datatable-body-cell:nth-of-type(10) div","type":"SelectorText"}]}

1 Like

Thanks very much for your time and help resolving this.