Jump to content

Python e Selenium


jorgepedro7
Ir para a Solução Solucionado por Thanael,

Postagens Recomendadas

Olá, pessoal. Gostaria de ver se vocês já passaram pela experiência de tentar encontrar algum elemento com selenium  e não ter como achar? Usei todas as formas possíves, XPATH, CSS_SELECTOR, TAG, NAME, mas não encontra. E se trata de um botão simples, que não está em outro frame e não demora de carregar. Estou fazendo uma automação para editar páginas do shopify.

Link to comment
Compartilhe em outros sites

  • Pessoal da TecnoSpeed
  • Solução

Olá @jorgepedro7 tudo bem ? 

Existem inúmeras formas de obter o elemento, vendo que já tentou algumas mais populares recomendo mudar sua abordagem.

Tenta utilizar uma abordagem voltada a pegar o próprio <button> pelo.

driver.find_element(By.TAG_NAME, 'button')

Uma dica é verifica o caminho do botão, as vezes é mais simples pegar o elemento PAI e através dele achar o botão...

Exemplo

<div id='div_button'>
  <button> Click here </button>
</div>

Perceba que somente pelo <button> é complicado visto que ele não tem identificador como ID, Class etc. Portanto é mais simples obtermos o elemento pai (DIV) que possui um identificador e através dele verificar os botões que existem. 

Outra dica é se existir mais de um botão pode fazer um for e simplesmente verificar o texto do botão para selecionar o que deseja.

 

Espero que essa ideia de abordagem possa lhe auxiliar, caso contrário sugiro mandar o trecho do HTML que contém o botão, deixando mais fácil para ajudá-lo. 

  • Curtir 2
Link to comment
Compartilhe em outros sites

Em 31/01/2024 at 08:17, Thanael disse:

Olá @jorgepedro7 tudo bem ? 

Existem inúmeras formas de obter o elemento, vendo que já tentou algumas mais populares recomendo mudar sua abordagem.

Tenta utilizar uma abordagem voltada a pegar o próprio <button> pelo.

driver.find_element(By.TAG_NAME, 'button')

Uma dica é verifica o caminho do botão, as vezes é mais simples pegar o elemento PAI e através dele achar o botão...

Exemplo

<div id='div_button'>
  <button> Click here </button>
</div>

Perceba que somente pelo <button> é complicado visto que ele não tem identificador como ID, Class etc. Portanto é mais simples obtermos o elemento pai (DIV) que possui um identificador e através dele verificar os botões que existem. 

Outra dica é se existir mais de um botão pode fazer um for e simplesmente verificar o texto do botão para selecionar o que deseja.

 

Espero que essa ideia de abordagem possa lhe auxiliar, caso contrário sugiro mandar o trecho do HTML que contém o botão, deixando mais fácil para ajudá-lo. 

Obrigado pela resposta, meu caro.


Estou começando nessa de programação, sou amador. Mas estou conseguindo aprender bastante, com ajuda das IAs também. Nesse caso, eu me equivoquei ao dizer que não estava em outro iframe. Lendo e pesquisando descobri que seria impossível acessar esse botão se não selecionasse para interagir com o iframe em que ele estava alocado. De toda forma, muito obrigado pela ajuda.

  • Curtir 2
Link to comment
Compartilhe em outros sites

  • 4 weeks later...

Parece que você está tendo problemas para localizar um elemento usando o Selenium ao automatizar as edições de página na Shopify. Além das estratégias comprovadas, como XPATH, CSS_SELECTOR, TAG e NAME, você pode tentar usar outros atributos exclusivos do elemento, como CLASS ou ID, se disponíveis. Verifique também se o elemento não está dentro de um iframe, pois isso pode afetar sua localização. Se o problema persistir, verifique se o elemento é carregado dinamicamente após o carregamento completo da página principal. Tente consultar outros desenvolvedores no bate-papo kingslots8. Se esse for o caso, talvez seja necessário usar uma espera explícita para garantir que o elemento esteja disponível antes de tentar localizá-lo.

  • 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...