le sélénium élément non valide de l'état: l'Élément n'est pas actuellement interactable et ne peut pas être manipulé
J'ai ce problème avec le sélénium; je ne trouve pas je textinput : il soulève toujours ce exeception:
Element is not currently interactable and may not be manipulated
dans cette ligne:
Driver.FindElement(By.Id("ctl00")).Clear();
J'essaie de mettre en attente comme ceci:
Waiting.Until(driver =>(By.Id("ctl00")));
et
Waiting.Until(ExpectedConditions.ElementExists(By.Id("ctl00")));
mais pas de chance.
JE DÉTESTE CE MESSAGE D'ERREUR. pourquoi ne peut pas le message d'erreur juste me dire ce que le sélecteur a été?!?!?!?!?! les dépenses de TOUTE ma VIE TROUVER STUPIDE de BUGS COMME ça
OriginalL'auteur Kais Zwawi | 2014-08-07
Vous devez vous connecter pour publier un commentaire.
Si l'exception est lancée sur
Clear()
,l'élément qui est le plus susceptible présent sur la page et l'entrée dans un
readonly
état.Si vous n'avez pas peur de vous salir, vous pouvez exécuter le code javascript/jquery directement et cherchez pour votre élément de manipuler...cependant, si l'application définit l'entrée en lecture seule, il peut être utile de revoir et de vous demander pourquoi vous tentez d'effacer un readonly d'entrée.
OriginalL'auteur Daniel Kereama
Essayez de valider XPath d'abord en tant que peut-être que le ciblage de plus d'un élément.
Pour cette raison, l'élément actuellement pas interactable et ne peuvent pas être manipulés.
J'ai fait face à un même problème et a trouvé une solution avec ci-dessus comme mon XPath a été la localisation d'éléments multiples qui existe sur les DOM, mais pas la page.
Corriger l'élément XPath, une erreur de résoudre automatiquement avec l'ajout de webdriver attendre.
OriginalL'auteur Himanshi
Cela arrive parfois, lorsque l'élément n'est pas visible. Il arriverait même lorsque l'élément est visible aussi.
Essayez avec l'aide de différents tags comme xpath ou etc.
Vous pouvez vérifier l'état des éléments ci-dessous à l'aide de script
OriginalL'auteur venu9955
J'ai frappé de la même erreur de, était aussi un peu confus, mais résolu à l'aide de la condition d'attente ci-dessous. Le
elementToBeClickable
condition vérifie que l'élément est à la fois visible et activé. Peut-être que la visibilité est assez, mais le Sélénium jette expliciteElementNotVisibleException
, donc je ne sais pas pourquoi je ne le ferais pas...De toute façon, j'ai opté pour l'utilisation d'un plus robuste, à condition d'attente, et il a bien fonctionné pour moi.
OriginalL'auteur The Gilbert Arenas Dagger
Elle est due à l'élément n'est pas visible donc d'appliquer plus d'attendre lors de l'exécution de l'action ou vous pouvez utiliser codé en dur sommeil parfois causer des webdriver d'attente ne fonctionne pas.
OriginalL'auteur Jitendra
Waiting.Until(ExpectedConditions.ElementExists(By.Id("ctl00")));
devrait fonctionner.Définir un point de rupture à
Waiting.Until()
ligne et entrée$$("#ctl00")
en Chrome de la console pour vérifier si l'élément est existant.OriginalL'auteur Henry Zhang
Faire le chauffeur d'attendre jusqu'à ce qu'un élément est visible.
Espérons que cette aide!
OriginalL'auteur Irshad
Si l'attente pour
visibilityOf()
,elementToBeClickable()
,element.isEnabled()
n'est pas le problème, essayez de regarder les attributs de votre élément.Il peut avoir des attributs responsable pour lire seulement l'état, dans mon cas, cela a été aria-readonly et aria-désactivé, Donc j'ai créé la coutume d'attendre comme ceci:
OriginalL'auteur Alexander Oreshin