add Info for chrome

This commit is contained in:
Star 2025-07-24 19:13:07 +08:00
parent 8b52007c65
commit cc7573428b

View File

@ -24,10 +24,10 @@ var chromes = map[string]*Chrome{}
var chromesLock sync.Mutex var chromesLock sync.Mutex
func (ch *Chrome) Close(vm *goja.Runtime) { func (ch *Chrome) Close(vm *goja.Runtime) {
logger := gojs.GetLogger(vm) // logger := gojs.GetLogger(vm)
if ch.browser != nil { if ch.browser != nil {
ver, _ := ch.browser.Version() // ver, _ := ch.browser.Version()
logger.Info("关闭Chrome浏览器", "id", ch.id, "browser", ver.Product, "userAgent", ver.UserAgent, "chromeURL", ch.chromeURL, "chromePath", ch.chromePath) // logger.Info("关闭Chrome浏览器", "id", ch.id, "browser", ver.Product, "userAgent", ver.UserAgent, "chromeURL", ch.chromeURL, "chromePath", ch.chromePath)
ch.browser.Close() ch.browser.Close()
ch.browser = nil ch.browser = nil
} }
@ -52,8 +52,37 @@ func CloseAllChrome(vm *goja.Runtime) {
} }
} }
type ChromeInfo struct {
ProtocolVersion string
Product string
Revision string
UserAgent string
JsVersion string
ChromeURL string
ChromePath string
}
func (ch *Chrome) Info(showWindow *bool, vm *goja.Runtime) (ChromeInfo, error) {
ver, err := ch.browser.Version()
if err != nil {
return ChromeInfo{
ChromeURL: ch.chromeURL,
ChromePath: ch.chromePath,
}, err
}
return ChromeInfo{
ProtocolVersion: ver.ProtocolVersion,
Product: ver.Product,
Revision: ver.Revision,
UserAgent: ver.UserAgent,
JsVersion: ver.JsVersion,
ChromeURL: ch.chromeURL,
ChromePath: ch.chromePath,
}, nil
}
func StartChrome(showWindow *bool, vm *goja.Runtime) (*Chrome, error) { func StartChrome(showWindow *bool, vm *goja.Runtime) (*Chrome, error) {
logger := gojs.GetLogger(vm) // logger := gojs.GetLogger(vm)
ch := &Chrome{} ch := &Chrome{}
ch.id = u.UniqueId() ch.id = u.UniqueId()
ch.browser = rod.New() ch.browser = rod.New()
@ -97,8 +126,8 @@ func StartChrome(showWindow *bool, vm *goja.Runtime) (*Chrome, error) {
if err := ch.browser.Connect(); err != nil { if err := ch.browser.Connect(); err != nil {
return nil, gojs.Err(err) return nil, gojs.Err(err)
} }
ver, _ := ch.browser.Version() // ver, _ := ch.browser.Version()
logger.Info("启动Chrome浏览器", "id", ch.id, "browser", ver.Product, "userAgent", ver.UserAgent, "chromeURL", ch.chromeURL, "chromePath", ch.chromePath) // logger.Info("启动Chrome浏览器", "id", ch.id, "browser", ver.Product, "userAgent", ver.UserAgent, "chromeURL", ch.chromeURL, "chromePath", ch.chromePath)
chromesLock.Lock() chromesLock.Lock()
chromes[ch.id] = ch chromes[ch.id] = ch