Selenium em Python
O Selenium é a biblioteca mais importante na criação de bots que acessam websites e extraem dele informações.
Como instalar o Selenium no Python (Python 3)?
Para usar o Selenium você vai precisar de:
- Python já instalado (Python 3* ou Python 2.7)
- Gerenciador de pacotes do Python (PIP 3* ou PIP 2 ou o Anaconda)
- Driver para comandar o browser via Selenium (Mozilla GeckoDriver ou Google Chrome Driver)
* minha recomendação
No Linux (via apt e pip)
O comando abaixo instalará o python3 + pip3 + Selenium + Mozilla GeckoDriver x64. Confira novas versões do Mozilla GeckoDriver aqui.
sudo apt update &&# Instalando o python 3 sudo apt install python3 && # Instalando o pip 3 apt install python3-pip && # Instalando/Atualizando o Selenium através do pip3 pip3 install -U selenium && # Instalado o mozilla gecko driver x64 em /usr/local/bin/geckodriver wget -c https://github.com/mozilla/geckodriver/releases/download/v0.25.0/geckodriver-v0.25.0-linux64.tar.gz -O - | sudo tar -xz -C /usr/local/bin/ # Ou para instalar o x32 # wget -c terminhttps://github.com/mozilla/geckodriver/releases/download/v0.25.0/geckodriver-v0.25.0-linux32.tar.gz -O - | sudo tar -xz -C /usr/local/bin/
Buscando por elementos
Você pode buscar por elementos de várias formas em uma página.
Retornar um elemento ou um array de elementos?
driver.find_element(...)driver.find_elements(...)
Imagine que em algum lugar do código HTML exista algo assim:
......
E você queria selecionar exatamente este elemento .
nome_completo_da_classe = 'botaoLogin 28323'# Usando o find element by class driver.find_element_by_class(nome_completo_da_classe) driver.find_element_by(By.CLASS_NAME(nome_completo_da_classe)) # Usando XPATH relativo xpath_completo = "//*[@class='{}']".format(nome_completo_da_classe) driver.find_element_by_xpath(xpath_completo ) # Ou você também pode buscar pelo XPATH e o nome parcial da classe nome_parcial_da_classe = 'botaoLogin' xpath_parcial = "//*[contains(@class,'{}')]".format(nome_parcial_da_classe) driver.find_element_by_xpath(xpath_parcial)
Referências
Página de downloads do Selenium
https://www.seleniumhq.org/download/
Buscando por um ou uma lista de elementos?
https://www.guru99.com/find-element-selenium.html
Buscando por elementos via XPATH
https://www.guru99.com/xpath-selenium.html