
Selenium Chromedriver personalizado | Zero configuração | Passa por TODOS os sistemas de mitigação de bots (como Distil / Imperva / Datadadome / CloudFlare IUAM)
https://github.com/ultrafunkamsterdam/undetected-chromedriver
Patch otimizado do Selenium Chromedriver que não aciona serviços anti-bot como Distill Network / Imperva / DataDome / Botprotect.io Baixa automaticamente o binário do driver e o corrige.
pip install undetected-chromedriver
ou , se você está se sentindo aventureiro, instale diretamente via github```
pip install git+https://www.github.com/ultrafunkamsterdam/undetected-chromedriver@master # replace @master with @branchname for other branches
Vou colocar limites no rastreador de problemas. Ele tem sido abusado por tempo demais.
Alguma notícia boa?
Sim, abri Undetected-Discussions que acho que nos ajudará melhor a longo prazo.
ESTE PACOTE NÃO, e repito NÃO esconde o seu endereço de IP, então ao executar a partir de um datacenter (mesmo os menores), as chances são grandes de você não passar! Além disso, se a reputação do seu IP em casa for baixa, você não vai passar!
Executando o código a seguir em casa e a partir de um datacenter.```python import undetected_chromedriver as uc driver = uc.Chrome(headless=True,use_subprocess=False) driver.get('https://nowsecure.nl') driver.save_screenshot('nowsecure.png')
<div style="display:flex;flex-direction:row">
<img src="https://assets.kitploit.com/production/public/readmes/50956/c1bde1e3621f106c2504cf4ecb9cc9015b23340c7a9bd5f20364c27016b2dd40/4f02747809c3b183c8af8238f6858540057402adfe0f26d4fa9d646091fa5781-display-v1.webp" width="720"/>
<img src="https://assets.kitploit.com/production/public/readmes/50956/ac44f4c3d408a07f4a0b96b2eb37ecc58f3a9711f32b31a642c27e96ad2ab767/c94f4da9c540b7890c9350605f085bddc730ed40073c886ff94a2475bdfe806a-display-v1.webp" width="720"/>
</div>
<!--  -->
<!--  -->
## 3.5.0 ##
- o selenium 4.10 causou alguns problemas. 3.5.0 é compatível e tem selenium 4.9 ou superior fixado. Não posso mais suportar <4.9.
- Removidos alguns kwargs do construtor: service_args, service_creationflags, service_log_path.
- adicionada a função geradora find_elements_recursive. que é mais uma função de conveniência, pois muitos sites parecem servir conteúdos diferentes de frames diferentes, dificultando
o uso de find_elements
## 3.4.5 ##
- Que semana. Os avanços recentes em algoritmos de Detecção de Automação me derrotaram (foi o que pensei) com a 3.4.0, mas aparentemente, para alguns sistemas operacionais isso causou um erro ao interagir com elementos. Tive que reverter usando um método diferente, corrigir bugs, e agora finalmente consegui manter a ideia inicial (+ corrigir bugs)
- A atualização para o chrome 110 causou outra surpresa, desta vez para usuários HEADLESS.
- embora o headless não seja suportado oficialmente, eu apliquei o patch!
- feliz em anunciar que AGORA TAMBÉM É INDETECTÁVEL (mas ainda não suportado ;))
- agradecimentos especiais aqui para [@mdmintz](https://github.com/mdmintz) e [@abdulzain6](https://github.com/abdulzain6)
- também agradecimentos especiais para [@sebdelsol](https://github.com/sebdelsol) pela ajuda em toda a seção de issues completamente voluntária, você deve ser louco :)
### 3.4.0 ###
**Grande atualização! tenha cuidado, pois -potencialmente- pode quebrar seu código.**
* reescrito o mecanismo anti-detecção; em vez de remover e renomear variáveis, simplesmente as mantemos, mas impedimos que sejam injetadas em primeiro lugar. Isso nos manterá seguros contra detecção pelo menos num futuro próximo.
* reescrita a nomenclatura dos arquivos, para evitar acabar com 1000 de {randomstring}_chromedriver.exe; em vez disso, é apenas chamado de undetected_chromedriver.exe
* limpeza: removidos os arquivos compat, v2 e a pasta tests
### 3.2.0 ###
* adicionado um exemplo contendo código típico de webdriver, respostas a perguntas frequentes, armadilhas + mostrando alguns truques para eliminar
a necessidade de multithreading.
### [>>>> código de exemplo aqui <<<<](https://github.com/ultrafunkamsterdam/undetected-chromedriver/blob/master/example/example.py)
* adicionado o método WebElement.click_safe(), que você pode tentar caso seja detectado após clicar em um link. Não é garantido que funcione.
* adicionado WebElement.children(self, tag=None, recursive=False)
para obter/encontrar facilmente nós filhos. exemplo:
```
body = driver.find_element('tag name', 'body')
# get the 6th child (any tag) of body, and grab all img's within (recursive).
images = body.children()[6].children('img', True)
srcs = list(map(lambda _:_.attrs.get('src'), images))
```
* adicionado example.py para onde posso apontar as pessoas quando fazem perguntas bobas
(não, na verdade é bem legal, todos deveriam ver)
* adicionado suporte para a plataforma lambda
* adicionado suporte para x86_32
* adicionado suporte para sistemas que se identificam como linux2
* alguma refatoração
### 3.1.6 ###
### ainda seguindo forte ###
- use_subprocess agora é True por padrão. muitas pessoas não entendem multiprocessing e __name__ == '__main__', e após testes,
parece não fazer mais diferença no chrome 104+
- adicionado no_sandbox, que é True por padrão, e isso sem a irritante barra "você está usando uma linha de comando insegura ...".
- atualizada a [imagem Docker](https://hub.docker.com/r/ultrafunk/undetected-chromedriver). agora você pode usar vnc ou rdp no seu container para ver a
janela real do navegador
[](https://i.imgur.com/W7vriN9.mp4)
- claro, o modo "regular" também funciona
[](https://i.imgur.com/2qSNyuK.mp4)
### 3.1.0 ###
**esta versão `pode` quebrar seu código, teste antes de atualizar!**
- **adicionada nova lógica anti-detecção!**
- v2 se tornou o módulo principal, então não é mais necessário referenciar v2. isso significa que agora você pode simplesmente usar: ```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get('https://nowsecure.nl')
para compatibilidade reversa, o v2 não é removido, mas é um alias para o módulo principal.
Corrigido o incômodo da "tela de boas-vindas" em SOs não-Windows. Para aqueles nagfetishists que ❤ telas de boas-vindas e alimentar o google com ainda mais dados, use Chrome(suppress_welcome=False).
substituído executable_path no construtor em favor de browser_executable_path
que não deve ser usado a menos que você seja o caso extremo (sim, você é) que não consegue adicionar sua pasta de instalação personalizada do chrome à variável de ambiente PATH,
ou tenha um exército de navegadores/versões diferentes e a busca automática retorne o navegador errado
"v1" (?) movido para _compat por enquanto.
corrigidas as versões das dependências
manipulação personalizada de ChromeOptions removida, então é compatível com webdriver.chromium.options.ChromiumOptions.
removido o "fu" do Chrome.get() e restaurado para o "quase" original:
with, embora ainda funcione por questão de compatibilidade reversa.sucesso nos testes até o momento: 100%
só para mencionar mais uma vez, já que algumas pessoas têm dificuldade de ler: headless ainda é WIP. Abrir issues é inútil
alterar o comportamento de criação de processos para ser totalmente desanexado
alterado o método .get(url) para sempre usar o contextmanager
alterado o método .get(url) para usar cdp por baixo dos panos.
... a declaração with não é mais necessária ..
a fazer: trabalhar rumo à "asyncificação" e ao selenium 4
Sempre que você encontrar os intimidadosfrom session not created: This version of ChromeDriver only supports Chrome version 96 # or what ever version
the solution is simple:
import undetected_chromedriver as uc
driver = uc.Chrome( version_main = 95 ) ```
**July 2021: Currently busy implementing selenium 4 for undetected-chromedriver**
**newsflash: https://github.com/ultrafunkamsterdam/undetected-chromedriver/pull/255**
## Usage ##
To prevent unnecessary hair-pulling and issue-raising, please mind the **[important note at the end of this document](#important-note) .**
<br>
### easy ###
Literally, this is all you have to do. Settings are included and your browser executable is found automagically. This is also the snippet i
recommend using in case you experience an issue.
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://nowsecure.nl' ) # my own test test site with max anti-bot protection```
### more advanced way, including setting profie folder ###
Literally, this is all you have to do. If a specified folder does not exist, a NEW profile is created. Data dirs which are specified like
this will not be autoremoved on exit.
```python
import undetected_chromedriver as uc
options = uc.ChromeOptions()
# definindo o perfil
options.user_data_dir = "c:\\temp\\profile"
# use uma versão específica (mais antiga)
driver = uc.Chrome(
options = options , version_main = 94
) # version_main permite especificar sua versão do chrome em vez de seguir a versão global do chrome
driver.get( 'https://nowsecure.nl' ) # meu próprio site de teste com proteção máxima anti-bot```
### expert mode, including Devtool/Wire events ###
Literally, this is all you have to do. You can now listen and subscribe to the low level devtools-protocol. I just recently found out that
is also on planning for future release of the official chromedriver. However i implemented my own for now. Since i needed it myself for
investigation.
```python
import undetected_chromedriver as uc
from pprint import pformat
driver = uc.Chrome(enable_cdp_events=True)
def mylousyprintfunction(eventdata):
print(pformat(eventdata))
# define o callback para Network.dataReceived imprimir (sim, não é muito original)
driver.add_cdp_listener("Network.dataReceived", mylousyprintfunction)
driver.get('https://nowsecure.nl') # url conhecida usando o modo "under attack mode" do cloudflare
def mylousyprintfunction(message):
print(pformat(message))
# para mais inspiração, confira o link abaixo
# https://chromedevtools.github.io/devtools-protocol/1-3/Network/
# e claro, 2 exemplos ruins
driver.add_cdp_listener('Network.requestWillBeSent', mylousyprintfunction)
driver.add_cdp_listener('Network.dataReceived', mylousyprintfunction)
# dica: um curinga captura todos os eventos!
# driver.add_cdp_listener('*', mylousyprintfunction)
# agora todos esses eventos serão impressos no meu console
driver.get('https://nowsecure.nl'){'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'VeryHigh',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/'},
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190010.996717,
'type': 'Document',
'wallTime': 1621835932.112026}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '449906A5C736D819123288133F2797E6'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, no-store, '
'no-cache, must-revalidate, '
'post-check=0, pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'requestId': '449906A5C736D819123288133F2797E6',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '449906A5C736D819123288133F2797E6',
'response': {'connectionId': 158,
'connectionReused': False,
'encodedDataLength': 851,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, '
'no-store, no-cache, '
'must-revalidate, '
'post-check=0, '
'pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'mimeType': 'text/html',
'protocol': 'h2',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932177.923,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'TLS 1.3',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 503,
'statusText': '',
'timing': {'connectEnd': 40.414,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 60.361,
'requestTime': 190011.002239,
'sendEnd': 41.348,
'sendStart': 41.19,
'sslEnd': 40.405,
'sslStart': 10.853,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/'},
'timestamp': 190011.06449,
'type': 'Document'}}
{'method': 'Page.frameStartedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Page.frameNavigated',
'params': {'frame': {'adFrameType': 'none',
'crossOriginIsolatedContextType': 'NotIsolated',
'domainAndRegistry': 'nowsecure.nl',
'gatedAPIFeatures': ['SharedArrayBuffers',
'SharedArrayBuffersTransferAllowed'],
'id': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'mimeType': 'text/html',
'secureContextType': 'Secure',
'securityOrigin': 'https://nowsecure.nl',
'url': 'https://nowsecure.nl/'}}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 9835,
'encodedDataLength': 0,
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190011.093343}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 10713,
'requestId': '449906A5C736D819123288133F2797E6',
'shouldReportCorbBlocking': False,
'timestamp': 190011.064011}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'stack': {'callFrames': [{'columnNumber': 51,
'functionName': '',
'lineNumber': 114,
'scriptId': '8',
'url': 'https://nowsecure.nl/'},
{'columnNumber': 9,
'functionName': '',
'lineNumber': 115,
'scriptId': '8',
'url': 'https://nowsecure.nl/'}]},
'type': 'script'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'requestId': '17180.2',
'timestamp': 190011.106133,
'type': 'Script',
'wallTime': 1621835932.221325}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'columnNumber': 13,
'lineNumber': 117,
'type': 'parser',
'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.3',
'timestamp': 190011.106911,
'type': 'Image',
'wallTime': 1621835932.222102}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'parser', 'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.4',
'timestamp': 190011.109527,
'type': 'Image',
'wallTime': 1621835932.224719}}
{'method': 'Page.domContentEventFired', 'params': {'timestamp': 190011.110345}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.3'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.2'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.4'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.3',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.4',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.resourceChangedPriority',
'params': {'newPriority': 'High',
'requestId': '17180.4',
'timestamp': 190011.171057}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.3',
'response': {'connectionId': 0,
'connectionReused': False,
'encodedDataLength': 214,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932265.169,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': 26.087,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 40.709,
'requestTime': 190011.109386,
'sendEnd': 26.346,
'sendStart': 26.182,
'sslEnd': 26.087,
'sslStart': 0,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.174536,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.3',
'timestamp': 190011.174737}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.3',
'timestamp': 190011.17524}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 258,
'requestId': '17180.3',
'shouldReportCorbBlocking': False,
'timestamp': 190011.152073}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.4',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 178,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932268.067,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 42.415,
'requestTime': 190011.110341,
'sendEnd': 25.713,
'sendStart': 25.609,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.175727,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.4',
'timestamp': 190011.175856}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.4',
'timestamp': 190011.176133}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 222,
'requestId': '17180.4',
'shouldReportCorbBlocking': False,
'timestamp': 190011.153335}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'requestId': '17180.2',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.2',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 510,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, '
'must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'mimeType': 'text/javascript',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932301.817,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 78.885,
'requestTime': 190011.107975,
'sendEnd': 27.934,
'sendStart': 27.809,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'timestamp': 190011.188468,
'type': 'Script'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 31556,
'encodedDataLength': 0,
'requestId': '17180.2',
'timestamp': 190011.188663}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 6737,
'encodedDataLength': 11251,
'requestId': '17180.2',
'timestamp': 190011.198249}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 2049,
'requestId': '17180.2',
'timestamp': 190011.200943}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 13810,
'requestId': '17180.2',
'shouldReportCorbBlocking': False,
'timestamp': 190011.198142}}
{'method': 'Page.loadEventFired', 'params': {'timestamp': 190011.204711}}
{'method': 'Page.frameScheduledNavigation',
'params': {'delay': 12,
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'reason': 'metaTagRefresh',
'url': 'https://nowsecure.nl/'}}
{'method': 'Page.frameStoppedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'High',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/favicon.ico'},
'requestId': '17180.5',
'timestamp': 190011.210491,
'type': 'Other',
'wallTime': 1621835932.325683}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [{'blockedReasons': [],
'cookie': {'domain': 'nowsecure.nl',
'expires': 1621839532,
'httpOnly': False,
'name': 'cf_chl_prog',
'path': '/',
'priority': 'Medium',
'sameParty': False,
'secure': False,
'session': False,
'size': 12,
'sourcePort': 443,
'sourceScheme': 'Secure',
'value': 'e'}}],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/favicon.ico',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'cookie': 'cf_chl_prog=e',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},# espero que você tenha entendido a ideia.```
<br>
<br>
#### the easy way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://distilnetworks.com' )```
#### target specific chrome version (v1 old stuff) ####
```python
import undetected_chromedriver as uc
uc.TARGET_VERSION = 85
driver = uc.Chrome()```
#### monkeypatch mode (v1 old stuff) ####
Needs to be done before importing from selenium package
```python
import undetected_chromedriver as uc
uc.install()
from selenium.webdriver import Chrome
driver = Chrome()
driver.get( 'https://distilnetworks.com' )```
#### the customized way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
# specify chromedriver version to download and patch
uc.TARGET_VERSION = 78
# or specify your own chromedriver binary (why you would need this, i don't know)
uc.install(
executable_path = 'c:/users/user1/chromedriver.exe' ,
)
opts = uc.ChromeOptions()
opts.add_argument( f'--proxy-server=socks5://127.0.0.1:9050' )
driver = uc.Chrome( options = opts )
driver.get( 'https://distilnetworks.com' )```
#### datadome.co example (v1 old stuff) ####
These guys have actually a powerful product, and a link to this repo, which makes me wanna test their product. Make sure you use a "clean"ip
for this one.
```python
#
# Chromedriver padrão do selenium
#
from selenium import webdriver
chrome = webdriver.Chrome()
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_regular_webdriver.png' )
True # isso fez meu IP ser sinalizado, infelizmente
#
# chromedriver NÃO DETECTADO (headless, até mesmo)
#
import undetected_chromedriver as uc
options = uc.ChromeOptions()
options.headless = True
options.add_argument( '--headless' )
chrome = uc.Chrome( options = options )
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_undetected_webddriver.png' )```
**Check both saved screenhots [here](https://imgur.com/a/fEmqadP)**