diff --git a/api/chrome/cli.go b/api/chrome/cli.go index 64af29a..c73e328 100644 --- a/api/chrome/cli.go +++ b/api/chrome/cli.go @@ -22,6 +22,7 @@ type TabMetadata struct { } func (c *Cli) Start(to int) error { + // to -> Time out para a conexão com o Chrome. Dado em segundos. err := c.HttpCli().JsonGet(fmt.Sprintf("/ipc/chrome/start?to=%d", to), nil) return err } @@ -34,27 +35,37 @@ func (c *Cli) Stop() error { return err } func (c *Cli) New(url string) (string, error) { + // url -> Site no qual se quer iniciar uma nova aba. ret := "" err := c.HttpCli().JsonGet(fmt.Sprintf("/ipc/chrome/new?url=%s", url), &ret) return ret, err + // ret -> ID do Websocket criado para navegação na "url" informada. } func (c *Cli) Close(id string) error { + // id -> ID do websocket ativo. É o primeiro retorno do método "New". err := c.HttpCli().JsonGet("/ipc/chrome/close/"+id, nil) return err } func (c *Cli) Eval(id string, s string) (map[string]interface{}, error) { + // id -> ID do websocket no qual se quer fazer um comando JavaScript. + // s -> Comando JavaScript a ser executado no terminal web do WebSocket informado. ret := make(map[string]interface{}) bs, err := c.HttpCli().RawPost("/ipc/chrome/eval/"+id, []byte(s)) json.Unmarshal(bs, &ret) return ret, err + // ret -> O valor retornado pelo comando JavaScript executado. } func (c *Cli) Wait(id string, s string, to int) (string, error) { + // id -> ID do websocket no qual se quer fazer um comando JavaScript. + // s -> Comando JavaScript a ser executado no terminal web do WebSocket informado. Deve ser uma expressão que retorne um valor booleano para, por exemplo, verificar se um elemento já foi carregado. + // to -> TimeOut de espera para retorno "true" da expressão JavaScript informada. Informado em segundos. ret := "" bs, err := c.HttpCli().RawPost(fmt.Sprintf("/ipc/chrome/wait/%s?to=%d", id, to), []byte(s)) json.Unmarshal(bs, &ret) return ret, err } func (c *Cli) Send(id string, m string, ps map[string]interface{}) (string, error) { + // id -> ID do Websocket no qual se deseja realizar a alteração. ret := "" in := map[string]interface{}{ "method": m, @@ -62,24 +73,31 @@ func (c *Cli) Send(id string, m string, ps map[string]interface{}) (string, erro } err := c.HttpCli().JsonPost("/ipc/chrome/eval/"+id, in, &ret) return ret, err + // ret -> } func (c *Cli) OpenTabs() (ret []map[string]string, err error) { err = c.HttpCli().JsonGet("/ipc/chrome/opentabs", &ret) return ret, err + // ret -> Array contendo as abas abertas e metadados sobre as mesmas. } func (c *Cli) FindTabByUrl(url string) (ret string, err error) { + // url -> URL ativa em uma das abas abertas. err = c.HttpCli().JsonGet("/ipc/chrome/findtabbyurl/"+url, &ret) return ret, err + // ret -> ID do WebSocket contendo a aba encontrada. } func (c *Cli) FindTabByTitle(title string) (ret string, err error) { + // title -> Título de uma das abas abertas. err = c.HttpCli().JsonGet("/ipc/chrome/findtabbytitle/"+title, &ret) return ret, err + // ret -> ID do WebSocket contendo a aba encontrada. } func NewCli() *Cli { ret := &Cli{ApiCli: api.NewApiCli()} return ret + // ret -> Nova instância do Chrome para utilização. }