0
votes

Le sélénium ne localisera pas l'élément avec une méthode

J'ai des difficultés à trouver le sélénium localiser un élément sur un site Web (lueur pour être exact). Idéalement, j'aimerais que le conducteur envoie des clés à un champ de saisie, mais Selenium ne le localisera pas pour une raison quelconque.

J'ai déjà essayé de localiser par ID, XPath et par nom. Toute suggestion sur la manière de localiser cet élément? P>

Voici le HTML: P>

<input
  id="contestant[name]"
  name="name"
  ng-model-options="{ debounce: 300 }"
  ng-model="contestantState.form.name"
  ng-pattern=".*"
  placeholder="Alice Smith" required=""
  style="width: 246px"
  type="text"
  class="ng-empty
  ng-invalid
  ng-invalid-required
  ng-valid-pattern
  ng-dirty
  ng-valid-parse
  ng-touched"
>


3 commentaires

Montrez-nous HTML de l'élément que vous essayez de localiser.


Avez-vous attendu assez de temps pour que l'élément apparaisse sur la page?


Voir: Comment faire Je fais X? L'attente de même que l'utilisateur posant une question non seulement la recherche de répondre à leur propre question mais partage également la recherche, les tentatives de codes et les résultats. Cela démontre que vous avez pris le temps d'essayer de vous aider, cela nous évite de réitérer des réponses évidentes, et surtout, il vous aide à obtenir une réponse plus spécifique et plus pertinente! Voir aussi: Comment demander


3 Réponses :


0
votes

Utilisez webDriverwait code> pour gérer les éléments dynamiques sur la page Web. Si ce code ne fonctionne pas, vérifiez si votre élément d'entrée à l'intérieur de tout iframe.

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium import webdriver

inputelement=WebDriverWait(driver,40).until(expected_conditions.element_to_be_clickable((By.ID,'contestant[name]')))
inputelement.send_keys("Apple")


0 commentaires

1
votes

Essayez l'un de ces xxx


0 commentaires

0
votes

Pour envoyer une séquence de caractères à l'élément souhaité, car l'élément est un angulaire Elément afin que vous ayez besoin d'induire webdiverwait pour que l'élément soit cliquable et vous pouvez utiliser l'une des deux Stratégies de localisation :

  • en utilisant css_selector : XXX

  • en utilisant xpath : XXX


0 commentaires