Creating new Chrome methods.
parent
7baf408c05
commit
53510efccb
|
@ -1,6 +1,7 @@
|
|||
import json
|
||||
import os
|
||||
import urllib
|
||||
from typing import List
|
||||
|
||||
import requests
|
||||
|
||||
|
@ -204,4 +205,61 @@ class Chrome:
|
|||
|
||||
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