IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

Selenium find elements


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Selenium find elements
    Bonjour, je ne parviens pas a trouver un éléments avec selenium .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    br=webdriver.Chrome()
    br.get("https://www.adidas.fr/on/demandware.store/Sites-adidas-FR-Site/fr_FR/CODelivery-RedirectToPaypal")
    time.sleep(5)
    email=br.find_element_by_id("email")  de meme avec email=br.find_element_by_xpath("//*[@id='email']")
    email.click()
    Cela me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    elenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"dwfrm_cart_d0lbkdfqhdbf"}
      (Session info: chrome=51.0.2704.103)
      (Driver info: chromedriver=2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a),platform=Mac OS X 10.11.5 x86_64)

    Je comprend qu'il n'arrive pas a trouver l'element que je cherche mais je ne voie pas pourquoi . Merci d'avance

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut Mauvaise page
    Citation Envoyé par YZYAZ Voir le message
    Bonjour, je ne parviens pas a trouver un éléments avec selenium .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    br=webdriver.Chrome()
    br.get("https://www.adidas.fr/on/demandware.store/Sites-adidas-FR-Site/fr_FR/CODelivery-RedirectToPaypal")
    time.sleep(5)
    email=br.find_element_by_id("email")  de meme avec email=br.find_element_by_xpath("//*[@id='email']")
    email.click()
    Cela me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    elenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"dwfrm_cart_d0lbkdfqhdbf"}
      (Session info: chrome=51.0.2704.103)
      (Driver info: chromedriver=2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a),platform=Mac OS X 10.11.5 x86_64)

    Je comprend qu'il n'arrive pas a trouver l'element que je cherche mais je ne voie pas pourquoi . Merci d'avance

    Salut,
    C'est normal, sur la page que tu charges, le champs "email" n'existe pas.
    Tu dois d'abord cliquer sur le bouton de connection :
    br.find_element_by_xpath('//a[@class="selfservice-link-login"]').click()

    ou alors charger la bonne page :
    https://www.adidas.fr/on/demandware....-CreateOrLogin

    Bonne suite...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Si il existe, il faut juste ajouter un élément au panier avant puis ouvrir ce liens : https://www.adidas.fr/on/demandware....directToPaypal
    Seulement la il ne parviens pas a identifier l'élément email ( bien présent , quand je fais click droit inspecter avec chrome je peux trouver l'id et le XPATH mais cela ne marche pas, or quand je regarde juste le code source je ne trouve pas l'id de l'élément email vue avant ) Je ne sais pas si je suis assez clair :/N'hésitez pas a me demander plus d'infos car la je n'arrive plus a avancer

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Les champs login/pass que tu cherches à atteindre sont dans un iframe.
    Si tu cherches le div "injectedUnifiedLogin", l'iframe est juste en dessous.
    Il faut donc que ton script change d'iframe pour atteindre ces champs.


    Ci-dessous un bout de code que j'ai utilisé récemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    driver.switch_to.frame(driver.find_element_by_id(iframeId))
    # Code intermédiaire
    driver.switch_to.default_content() # pour revenir au frame d'origine
    J'espère que ça t'aidera.

Discussions similaires

  1. [UiBinder] LazyDomElement : erreur "Cannot find element"
    Par adiGuba dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 05/09/2014, 14h17
  2. [DOM] Sax Exception: 'cvc-elt.1: Cannot find the declaration of element 'site:blog'
    Par laurent_m dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 05/03/2009, 22h52
  3. Erreur : "Could not find default endpoint element that references contract"
    Par obitskater dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 27/02/2009, 10h30
  4. Réponses: 4
    Dernier message: 25/04/2006, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo