Adicionando comentários para as funções.
parent
bd3bcefcc2
commit
2257f3f349
|
@ -22,6 +22,7 @@ type TabMetadata struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cli) Start(to int) error {
|
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)
|
err := c.HttpCli().JsonGet(fmt.Sprintf("/ipc/chrome/start?to=%d", to), nil)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -34,27 +35,37 @@ func (c *Cli) Stop() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
func (c *Cli) New(url string) (string, error) {
|
func (c *Cli) New(url string) (string, error) {
|
||||||
|
// url -> Site no qual se quer iniciar uma nova aba.
|
||||||
ret := ""
|
ret := ""
|
||||||
err := c.HttpCli().JsonGet(fmt.Sprintf("/ipc/chrome/new?url=%s", url), &ret)
|
err := c.HttpCli().JsonGet(fmt.Sprintf("/ipc/chrome/new?url=%s", url), &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret -> ID do Websocket criado para navegação na "url" informada.
|
||||||
}
|
}
|
||||||
func (c *Cli) Close(id string) error {
|
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)
|
err := c.HttpCli().JsonGet("/ipc/chrome/close/"+id, nil)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
func (c *Cli) Eval(id string, s string) (map[string]interface{}, error) {
|
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{})
|
ret := make(map[string]interface{})
|
||||||
bs, err := c.HttpCli().RawPost("/ipc/chrome/eval/"+id, []byte(s))
|
bs, err := c.HttpCli().RawPost("/ipc/chrome/eval/"+id, []byte(s))
|
||||||
json.Unmarshal(bs, &ret)
|
json.Unmarshal(bs, &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret -> O valor retornado pelo comando JavaScript executado.
|
||||||
}
|
}
|
||||||
func (c *Cli) Wait(id string, s string, to int) (string, error) {
|
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 := ""
|
ret := ""
|
||||||
bs, err := c.HttpCli().RawPost(fmt.Sprintf("/ipc/chrome/wait/%s?to=%d", id, to), []byte(s))
|
bs, err := c.HttpCli().RawPost(fmt.Sprintf("/ipc/chrome/wait/%s?to=%d", id, to), []byte(s))
|
||||||
json.Unmarshal(bs, &ret)
|
json.Unmarshal(bs, &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
}
|
}
|
||||||
func (c *Cli) Send(id string, m string, ps map[string]interface{}) (string, error) {
|
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 := ""
|
ret := ""
|
||||||
in := map[string]interface{}{
|
in := map[string]interface{}{
|
||||||
"method": m,
|
"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)
|
err := c.HttpCli().JsonPost("/ipc/chrome/eval/"+id, in, &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret ->
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cli) OpenTabs() (ret []map[string]string, err error) {
|
func (c *Cli) OpenTabs() (ret []map[string]string, err error) {
|
||||||
err = c.HttpCli().JsonGet("/ipc/chrome/opentabs", &ret)
|
err = c.HttpCli().JsonGet("/ipc/chrome/opentabs", &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret -> Array contendo as abas abertas e metadados sobre as mesmas.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cli) FindTabByUrl(url string) (ret string, err error) {
|
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)
|
err = c.HttpCli().JsonGet("/ipc/chrome/findtabbyurl/"+url, &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret -> ID do WebSocket contendo a aba encontrada.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cli) FindTabByTitle(title string) (ret string, err error) {
|
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)
|
err = c.HttpCli().JsonGet("/ipc/chrome/findtabbytitle/"+title, &ret)
|
||||||
return ret, err
|
return ret, err
|
||||||
|
// ret -> ID do WebSocket contendo a aba encontrada.
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewCli() *Cli {
|
func NewCli() *Cli {
|
||||||
ret := &Cli{ApiCli: api.NewApiCli()}
|
ret := &Cli{ApiCli: api.NewApiCli()}
|
||||||
return ret
|
return ret
|
||||||
|
// ret -> Nova instância do Chrome para utilização.
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue