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
- Python instalado
- 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/