Jump to content

Como clicar em elemento com overlay (Selenium)?


Rodrigo Zaruvne

Postagens Recomendadas

Estou tentando procurar e clicar em um elemento da página, mas acredito que ele está com algum overlay que não permite o script realizar o clique. Qual estratégia devo utilizar? O elemento completo está na imagem abaixo do código.

from selenium import webdriver

from selenium.webdriver.chrome.service import Service

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.action_chains import ActionChains

import time

from selenium.common.exceptions import StaleElementReferenceException, TimeoutException



# Tenta localizar o elemento planos_operadora e clicar nele.

try:

    planos_operadora = WebDriverWait(driver, 10).until(

        EC.element_to_be_clickable((By.XPATH, "//a[@id='menuForm:planoOperadora']"))

    )

    planos_operadora.click()

except TimeoutException:

    print("planos_operadora elemento não encontrado")

 

 

image.png

 

Editado por Rodrigo Zaruvne
Imagem em baixa resolução, código errado
  • Curtir 1
Link to comment
Compartilhe em outros sites

@Rodrigo Zaruvne O erro está nessa linha  

EC.element_to_be_clickable((By.XPATH, "//a[@id='menuForm:planoOperadora']"))

Perceba que o elemento tem um ID -> menuForm:planoOperadora, porém você esta passando By.XPATH

o correto é By.ID  dessa forma abaixo:

EC.element_to_be_clickable((By.ID, "//a[@id='menuForm:planoOperadora']"))

 

  • Ajudou! 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...