Uso avançado de selênio

Além do uso básico, o Selenium também possui alguns usos avançados que podem nos ajudar a concluir melhor as tarefas de teste automatizado.

1. Use esperas explícitas

Em testes automatizados, geralmente é necessário esperar que um elemento apareça ou uma operação seja concluída antes de executar a próxima etapa. O Selenium fornece a função de espera explícita, que pode esperar que uma determinada condição seja atendida antes de prosseguir para a próxima etapa. Por exemplo, o código a seguir espera que um elemento com id myElement apareça antes de clicar nele:

```

de selenium.webdriver.common.by importar por

de selenium.webdriver.support.ui importar WebDriverWait

de selenium.webdriver.support, importe as condições esperadas como EC

element = WebDriverWait(driver, 10).until(

    EC.presence_of_element_located((By.ID, 'myElement'))

)

element.click()

```

Entre eles, o objeto WebDriverWait aguardará 10 segundos até que a condição especificada (EC.presence_of_element_located(By.ID, 'myElement')) seja atendida.

2. Usando ActionChains

Algumas ações precisam estar na forma de ações do mouse, como passar o mouse, clicar com o botão direito, etc. O Selenium fornece a classe ActionChains que pode simular essas ações do mouse. Por exemplo, o código a seguir simula o passar do mouse sobre um elemento com id myElement:

```

de selenium.webdriver.common.action_chains importar ActionChains

elemento = driver.find_element_by_id('myElement')

action = ActionChains(driver)

action.move_to_element(element).perform()

```

Entre eles, o método `move_to_element()` move o mouse para o elemento especificado, e o método `perform()` executa a ação do mouse.

3. Usando JavaScript

Algumas operações não podem ser feitas por meio de métodos fornecidos pelo Selenium, mas podem ser executadas usando JavaScript. Por exemplo, o código a seguir usa JavaScript para rolar a janela do navegador para baixo:

```

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

```

Entre eles, o método `execute_script()` pode executar código JavaScript.

4. Manipulando pop-ups

Algumas operações abrirão uma nova janela do navegador ou caixa de alerta, o Selenium fornece o método `switch_to` para lidar com essas janelas pop-up. Por exemplo, o código a seguir muda o foco para uma nova janela do navegador:

```

para identificador em driver.window_handles:

    driver.switch_to.window(manipulador)

```

Entre eles, o atributo `window_handles` retorna os manipuladores de todas as janelas atuais, e o método `switch_to.window()` pode alternar para a janela especificada.

Acima estão alguns usos avançados do Selenium, que podem ser usados ​​conforme necessário.

 

Acho que você gosta

Origin blog.csdn.net/weixin_59246157/article/details/129701520
Recomendado
Clasificación