mirror of
https://github.com/playwright-community/playwright-go.git
synced 2026-06-12 21:01:15 +08:00
47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
//go:build ignore
|
|
// +build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"github.com/playwright-community/playwright-go"
|
|
)
|
|
|
|
func main() {
|
|
pw, err := playwright.Run()
|
|
if err != nil {
|
|
log.Fatalf("could not start playwright: %v", err)
|
|
}
|
|
browser, err := pw.Chromium.Launch()
|
|
if err != nil {
|
|
log.Fatalf("could not launch browser: %v", err)
|
|
}
|
|
page, err := browser.NewPage()
|
|
if err != nil {
|
|
log.Fatalf("could not create page: %v", err)
|
|
}
|
|
if _, err = page.Goto("https://news.ycombinator.com"); err != nil {
|
|
log.Fatalf("could not goto: %v", err)
|
|
}
|
|
entries, err := page.Locator(".athing").All()
|
|
if err != nil {
|
|
log.Fatalf("could not get entries: %v", err)
|
|
}
|
|
for i, entry := range entries {
|
|
title, err := entry.Locator("td.title > span > a").TextContent()
|
|
if err != nil {
|
|
log.Fatalf("could not get text content: %v", err)
|
|
}
|
|
fmt.Printf("%d: %s\n", i+1, title)
|
|
}
|
|
if err = browser.Close(); err != nil {
|
|
log.Fatalf("could not close browser: %v", err)
|
|
}
|
|
if err = pw.Stop(); err != nil {
|
|
log.Fatalf("could not stop Playwright: %v", err)
|
|
}
|
|
}
|