Selenium - Interações
Importando a funcionalidade dos localizadores suportados
-
Para que seja possível usar seletores de busca, o Selenium precisa da seguinte importação:
Apagando e escrevendo em um campo
-
Durante a navegação em um site, existem formulários ou campos de busca que precisam ser preenchidos. Com isso, o primeiro passo para evitar problemas, é apagar o campo utilizando o seguinte comando:
-
Após o campo estar limpo e pronto para receber o texto, a escrita será realizada com o código:
Movimentar a tela para um elemento (scroll)
-
Alguns elementos acabam não carregando até que a tela seja movimenta para próximo do mesmo. Para fazer isso, basta utilizar o código a seguir:
Clicar em um elemento
-
Para acessar objetos na página, se faz necessário dar cliques e isso é permitido usando o comando:
Extrair textos
-
Quando uma tag possui texto entre a abertura e o fechamento, o mesmo poderá ser coletado através da seguinte funcionalidade:
-
Caso não exista texto entre as tags, o mesmo poderá estar em algum atributo dela. Logo, para coletar direto de um atributo HTML, basta usar a seguinte função:
Printscreens
-
Para tirar um print de algum elemento específico do HTML, existe o seguinte código:
-
Caso deseje tirar um print da página inteira conforme está sendo visto no navegador, basta utilizar a função a seguir:
Dropdowns
-
Dentro do HTML, existe o conceito de dropdown, cujo botão permite ao usuário abrir uma lista de opções e escolher uma delas. Para que isso fique bem assertivo no Selenium, a função "Select" deverá ser importada e instanciada durante a execução. O uso dela pode ser visto melhor no código abaixo:
from selenium.webdriver.support.ui import Select dropdown = Select(driver.find_element(By.ID, 'searchDropdownBox')) #Selecionar pelo texto presente dropdown.select_by_visible_text('Computadores e Informática') #Selecionar pelo atributo value do HTML dropdown.select_by_value('search-alias=computers') #Selecionar pelo número dele na lista dropdown.select_by_index(11)
Alertas
-
Algumas páginas web podem conter alertas emitidos via JavaScript. Essas são telinhas que não possuem especificamente uma TAG em HTML, mas o Selenium ainda consegue identíficá-las para poder interagir:
-
Captura a caixa de diálogo:
```python alerta = driver.switch_to.alert ```
-
Aceita a caixa de diálogo:
```python alerta.accept(); ```
-
Recusa a caixa de diálogo:
```python alerta = driver.dismiss() ```
-
Escreve no campo da caixa de diálogo:
```python alerta.send_keys('seu texto') ```