https://github.com/beenotung/playwright-table
Collect tabular data from HTML Table Elements as object array or 2D string array
https://github.com/beenotung/playwright-table
crawl csv json playwright scrapy table-data typescript-library
Last synced: 3 months ago
JSON representation
Collect tabular data from HTML Table Elements as object array or 2D string array
- Host: GitHub
- URL: https://github.com/beenotung/playwright-table
- Owner: beenotung
- License: bsd-2-clause
- Created: 2022-12-01T07:36:38.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-07T02:36:08.000Z (over 1 year ago)
- Last Synced: 2025-02-01T11:17:52.531Z (4 months ago)
- Topics: crawl, csv, json, playwright, scrapy, table-data, typescript-library
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/playwright-table
- Size: 7.81 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# playwright-table
Collect tabular data from HTML Table Elements as object array or 2D string array
[](https://www.npmjs.com/package/playwright-table)
## Installation
```bash
npm install playwright-table
```## Usage Example
```typescript
import { collectTableWithHeaders } from 'playwright-table'
import { firefox } from 'playwright'async function main() {
let browser = await firefox.launch()
let page = await browser.newPage()
await page.goto(
'https://en.wikipedia.org/wiki/List_of_airports_by_IATA_airport_code:_A',
)
await page.waitForSelector('.wikitable')
let rows = await collectTableWithHeaders({
page,
selector: '.wikitable',
})
console.log(rows)
await page.close()
await browser.close()
}
main()
```Details refere to [example/main.ts](./example/main.ts)
## Typescript Signature
```typescript
export function collectTableWithHeaders(input: {
page: Page
selector: string
}): Promise[] | undefined>export function collectTableWithoutHeaders(input: {
page: Page
selector: string
}): Promiseexport function collectAllTableWithHeaders(input: {
page: Page
selector: string
limit?: number
}): Promise[]>>export function collectAllTableWithoutHeaders(input: {
page: Page
selector: string
limit?: number
}): Promise>
```## License
This project is licensed with [BSD-2-Clause](./LICENSE)
This is free, libre, and open-source software. It comes down to four essential freedoms [[ref]](https://seirdy.one/2021/01/27/whatsapp-and-the-domestication-of-users.html#fnref:2):
- The freedom to run the program as you wish, for any purpose
- The freedom to study how the program works, and change it so it does your computing as you wish
- The freedom to redistribute copies so you can help others
- The freedom to distribute copies of your modified versions to others