summaryrefslogtreecommitdiff
path: root/tools_playwright.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2026-03-03 09:15:18 +0300
committerGrail Finder <wohilas@gmail.com>2026-03-03 09:15:18 +0300
commit0c9c590d8f9c49578515ccaf19bb11431cf4e721 (patch)
tree32429d115946a82dc9bec46a0d10572be2b0aeb7 /tools_playwright.go
parentd130254e888a7627c65e9bcdfa70acd1bc77de66 (diff)
Enha (playwright): conditionaly install and use tools
Diffstat (limited to 'tools_playwright.go')
-rw-r--r--tools_playwright.go31
1 files changed, 17 insertions, 14 deletions
diff --git a/tools_playwright.go b/tools_playwright.go
index a4917a9..74a8e41 100644
--- a/tools_playwright.go
+++ b/tools_playwright.go
@@ -74,23 +74,30 @@ Additional browser automation tools (Playwright):
`
var (
- pw *playwright.Playwright
- browser playwright.Browser
- browserStarted bool
- browserStartMu sync.Mutex
- page playwright.Page
- browserAvailable bool
+ pw *playwright.Playwright
+ browser playwright.Browser
+ browserStarted bool
+ browserStartMu sync.Mutex
+ page playwright.Page
)
-func checkPlaywright() {
+func installPW() error {
+ err := playwright.Install(&playwright.RunOptions{Verbose: false})
+ if err != nil {
+ logger.Warn("playwright not available", "error", err)
+ return err
+ }
+ return nil
+}
+
+func checkPlaywright() error {
var err error
pw, err = playwright.Run()
if err != nil {
logger.Warn("playwright not available", "error", err)
- return
+ return err
}
- browserAvailable = true
- logger.Info("playwright tools available")
+ return nil
}
func pwStart(args map[string]string) []byte {
@@ -420,7 +427,3 @@ func pwDrag(args map[string]string) []byte {
}
return []byte(fmt.Sprintf(`{"success": true, "message": "Dragged from (%s,%s) to (%s,%s)"}`, x1, y1, x2, y2))
}
-
-func init() {
- go checkPlaywright()
-}