Creating new Chrome methods.
parent
7baf408c05
commit
53510efccb
|
@ -1,6 +1,7 @@
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import urllib
|
import urllib
|
||||||
|
from typing import List
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
@ -205,3 +206,60 @@ class Chrome:
|
||||||
raw_return = self.__request_raw_post__("/ipc/chrome/eval/"+id, command)
|
raw_return = self.__request_raw_post__("/ipc/chrome/eval/"+id, command)
|
||||||
|
|
||||||
return raw_return['result']['result']['value'] if ('value' in raw_return['result']['result']) else None
|
return raw_return['result']['result']['value'] if ('value' in raw_return['result']['result']) else None
|
||||||
|
|
||||||
|
def wait (self, id: str, condition: str, to: int):
|
||||||
|
"""
|
||||||
|
## Chrome Wait
|
||||||
|
Espera por uma determinada quantidade de tempo até que a condição passada como parâmetro seja verdadeira.
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Parâmetros:
|
||||||
|
- id: Identificador da aba em que se quer utilizar o método.
|
||||||
|
- condition: Condição que se quer verificar. É bastante comum utilizar este método para aguardar que elementos da página web carreguem, para isso, utilize o formato: comando_para_o_elemento != undefined.
|
||||||
|
- to: Tempo limite de espera pelo valor de verdade da condição.
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Retorna:
|
||||||
|
- Sucesso: "ok".
|
||||||
|
- Falha: Mensagem de erro.
|
||||||
|
"""
|
||||||
|
|
||||||
|
return self.__request_raw_post__(f"/ipc/chrome/wait/{id}?to={to}", condition)
|
||||||
|
|
||||||
|
def send(self, id: str, method: str, parameters: dict = {}):
|
||||||
|
"""
|
||||||
|
## Chrome Send
|
||||||
|
Este método realiza a manipulação da página cujo id for informado através de domínios do Chrome Dev Tools Protocol. Para mais informações sobre como utilizar esta ferramenta, visite o site:
|
||||||
|
|
||||||
|
https://chromedevtools.github.io/devtools-protocol/
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Parâmetros:
|
||||||
|
- id: Identificador da página web em que se quer realizar a manipulação.
|
||||||
|
- method: Nome do método DTP que se quer aplicar.
|
||||||
|
- parameters: Parâmetros requeridos pelo método informado no parâmetro anterior. Caso o método não exija parâmetros, não envie nada.
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Retorna:
|
||||||
|
-> O retorno desta função não é previsivel, ele varia de acordo com qual método DVP foi utilizado e o respectivo retorno dele.
|
||||||
|
"""
|
||||||
|
|
||||||
|
object = {"method": method, "params": parameters}
|
||||||
|
return self.__request_json_post__("/ipc/chrome/send/"+id, object)
|
||||||
|
|
||||||
|
def open_tabs (self) -> List[dict]:
|
||||||
|
"""
|
||||||
|
## Chrome Open Tabs
|
||||||
|
Este método busca todas as abas abertas no navegador Chrome e retorna dados sobre elas.
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Parâmetros:
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
#### Retorna:
|
||||||
|
-> Lista de dicionários com o nome das abas e outras informações sobre as mesmas.
|
||||||
|
"""
|
||||||
|
|
||||||
|
ret = self.__request_get__("/ipc/chrome/opentabs")
|
||||||
|
return ret
|
Loading…
Reference in New Issue