Instalar selenium com Python3 no Ubuntu

Você pode usar um ambiente virtual ou não, eu uso o PyCharm, então:

  1. Instalando o selenium via pip
pip install selenium

2. Verificando versão do Chrome

Teremos que baixar o driver do Chrome em https://sites.google.com/a/chromium.org/chromedriver/downloads

Você pode notar que a versão mais atualizada é a 79, porém no meu caso, tenho a versão 78 e o Chrome não permite que eu atualize diretamente da opção “tres pontinhos no canto direito” e depois em atualizar o Chrome. Quando essa opção do Chrome esta omitida, significa que ele já esta atualizado.

Você pode ver a versão do seu Chrome clicando nos “três pontinhos” do canto direito superior, depois em configurações e por ultimo em “Sobre o Google Chrome”. Lá esta sua versão atual.

Sendo assim, baixei o drive do Chrome na versão 78 (64 bits), descompactei e copie o “chromedriver” para o diretorio /usr/bin

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://duckduckgo.com/')

Sem dor de cabeça, o código acima funcionou perfeitamente.

Como o Django trabalha?

 

Para apreciar verdadeiramente Django, você terá que espreitar sob o capô e ver as várias partes móveis dentro. Isso pode ser esclarecedor e esmagador.

Como as solicitações da web são processadas em um aplicativo típico do Django

A figura anterior mostra a jornada simplificada de uma solicitação da web do navegador de um visitante para o aplicativo do Django e de volta. Os caminhos numerados são os seguintes:

O navegador envia a solicitação (essencialmente, uma seqüência de bytes) para o seu servidor web.
Seu servidor da Web (digamos, Nginx) entrega a solicitação a um servidor WSGI (digamos, uWSGI) ou atende diretamente a um arquivo (digamos, um arquivo CSS) do sistema de arquivos.
Ao contrário de um servidor da Web, os servidores WSGI podem executar aplicativos Python. A solicitação preenche um dicionário do Python chamado environe, opcionalmente, passa por várias camadas de middleware, alcançando seu aplicativo Django.
O URLconf contido no urls.py do seu aplicativo seleciona uma visualização para manipular a solicitação com base no URL solicitado. A solicitação é transformada entao em um objeto Python  HttpRequestum .
A exibição selecionada normalmente faz uma ou mais das seguintes ações:

a. Fala com um banco de dados através dos modelos
b. Processa HTML ou qualquer outra resposta formatada usando modelos

c. Retorna uma resposta de texto simples (não mostrada)

d. Levanta uma exceção

O HttpResponseobjeto é renderizado em uma string, deixando o aplicativo Django.
Uma página da web lindamente renderizada é vista no navegador do usuário.
Embora certos detalhes sejam omitidos, essa representação deve ajudá-lo a apreciar a arquitetura de alto nível do Django. Ele também mostra os papéis desempenhados pelos principais componentes, como modelos, visualizações e modelos. Muitos dos componentes do Django são baseados em vários padrões de design bem conhecidos.

 

Expressões XPath / Chrome

Expressão Descrição
/ Dá o nó raiz
// Dá todos os nós
. Dá o nó atual
.. Dá o nó pai
@ Dá atributos
[n] Dá o enésimo elemento
[last()] Dá o último elemento
[last()-n] Dá o enésimo elemento do último
[position()<n] Dá os primeiros n elementos
[x>n] Dá todos os elementos x contendo um elemento maior que n

Continue lendo