Back-End

17 fev, 2016

Google Search usando Selenium e Python – o básico sobre Selenium Python

Publicidade

No artigo de hoje, vamos discutir sobre alguns métodos comuns do módulo Selenium em Python. O Selenium é um biblioteca utilizada para testes automatizados de navegadores. No entanto, neste artigo vamos discutir sobre o uso do módulo Selenium em Python para fazer uma pesquisa no Google. O artigo divide-se em vários blocos explicando sobre como abrir uma URL no navegador via Selenium Python, a presença de busca de uma URL em uma página, cliques em links presentes em uma página e também abrir uma nova aba. Essas são as necessidades para começar com Selenium. Você também pode gostar de ler meu artigo sobre como acessar um site usando o Selenium Python.

Necessário para começar

  1. Python instalado
  2. Módulo Selenium instalado

Para Linux:

sudo pip install selenium

Para Windows:

pip install selenium

Pesquisa do Google usando o Selenium python

from selenium import webdriver
from selenium.webdriver.comon.keys import Keys
q = raw_input("Enter the search query")
q = q.replace(' ', '')
browser = webdriver.Firefox()
body = browser.find_element_by_tag_name("body")
body.send_keys(Keys.CONTROL + 't')
counter = 0
for i in range(0,20):
    browser.get("https://www.google.com/search?q=" + q + "&start=" + str(counter))
    body = browser.find_element_by_tag_name("body")
    if "thetaranights" in body.text:
        browser.find_element_by_xpath('//a[starts-with(@href,"http://www.thetaranights.com")]').click()
        break
    counter += 10

1. Declarações de importação (linhas 1 e 2)

Estas são as declarações de importação necessárias para iniciar uma página mais tarde em nosso programa e passar parâmetros de URL na barra de endereços do navegador.

2. Obtendo uma consulta para pesquisa no Google (linhas 3 e 4)

Aqui, nós estamos pegando uma consulta para a pesquisa do Google via raw_input. Aqui está um exemplo de URL para uma pesquisa no Google que requer que os espaços entre as palavras sejam substituídos por “+”; um parâmetro adicional start= 0 é visto, o que especifica o resultado da pesquisa da página 1. Do mesmo modo, start= 10 dá o resultado da pesquisa da página 2.

https://www.google.com/search?q=bhishan+bhandari&start=0

Por isso, depois de pegar a entrada do usuário, substituímos os espaços por +.

3. Instanciar um navegador (linha 5)

A declaração do navegador = Webdriver.Firefox() abre uma nova janela do navegador.

4. Abrir uma nova aba (linhas 6 e 7)

Estas declarações abrem uma nova aba. A declaração body = browser.find_element_by_tag_name (“body”) procura ter certeza de que realmente dentro do corpo da guia atual podemos abrir uma nova guia com a combinação de teclas body.send_keys (Keys.CONTROL + ‘t’). Para Mac, substitua CONTROL por COMMAND, e isso deve funcionar.

5. Abertura de uma URL no navegador (linha 10)

Para abrir uma URL no navegador, tudo que você precisa fazer é passar a URL como um argumento para o método browser.get. Lembre-se de que eu dei browser.get porque nós instanciamos o navegador mais cedo com browser = Webdriver.Firefox().

6. Procurando pela presença de certos URLs/textos no resultado da pesquisa (linhas 11 a 15)

Agora, novamente vamos atribuir o corpo da guia atual para o corpo da variável. Em seguida, verificamos se “thetaranights.com” está presente no resultado da pesquisa. Se estiver presente, executamos browser.find_element_by_xpath(‘//a[starts-with(@href, “http://www.thetaranights.com”]’).click para procurar pela URL nos resultados da busca que começam “http://www.thetaranights.com” no início ou em qualquer lugar depois disso. Em seguida, usamos .click () sobre ele para abrir a URL. O resultado que estamos procurando é encontrado e clicado. Nós quebramos o ciclo.

Se a declaração anterior “thetaranights.com” em body.text for falsa, isso significa que foi não encontrada, e iríamos repetir e procurar outra página de resultados do Google, e assim por diante, até chegar em 20 páginas.

Nota: Você pode fechar o navegador com browser.quit ()

Então, agora nós sabemos como abrir um navegador: abra uma nova aba no navegador, vá para determinado site/URL, procure links no corpo da página e clique no link. Se você tiver qualquer dúvida sobre os códigos do artigo, por favor mencione abaixo na seção de comentários.

***

Bhishan Bhandari faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.thetaranights.com/google-search-using-selenium-and-python-selenium-python-basics/