2017-09-05 3 views
0

Firepath screenshot Link to screenshotSélénium WebDriver incapable de reconnaître la valeur de la liste déroulante richfaces

Dans mon environnement seul navigateur qui fonctionne est Chrome. Cependant l'application a également des problèmes et ne rend pas la liste déroulante richfaces sauf si le navigateur est réduit à 80%. Lorsque vous effectuez un zoom arrière, c'est la seule fois que le navigateur affichera la valeur de la liste déroulante, sinon à un zoom de 100%, Chrome affichera une barre de défilement horizontale affichée en pièce jointe. J'ai épuisé toutes mes méthodes pour essayer de reconnaître l'objet à l'exécution, mais il ne le reconnaîtra pas. En outre, le HTML est complètement différent lors de la sélection de la liste déroulante par rapport à la page entière.

syntaxes utilisés pour reconnaître le menu déroulant sont les suivantes:

driver.findElement(By.id("orderCreationForm:j_id211:productSelect")).click(); //This line to click on the dropdown pulldown tree 

driver.findElement(By.xpath("//span[contains(.,'Fish Hooks')]")).click(); //This line to click on the actual dropdown item 
+0

thwhtml ou lien – iamsankalp89

+1

Veuillez lire [ask], en particulier la partie sur [mcve] (MCVE), et [Combien d'effort de recherche est attendu?] (Https://meta.stackoverflow.com/questions/261592/ how-much-research-effort-is-expected-of-stack-overflow-users) Cela vous aidera à déboguer vos propres programmes et à résoudre des problèmes par vous-même. Si vous faites cela et que vous êtes toujours bloqué, vous pouvez revenir et publier votre MCVE, ce que vous avez essayé et le résultat de l'exécution, y compris les messages d'erreur afin que nous puissions mieux vous aider. Fournissez également un lien vers la page et/ou le code HTML pertinent. – JeffC

+0

L'utilisation de sélecteurs avec 'j_id211' (par exemple) est très dangereuse, car elle est créée dynamiquement par' Richfaces'. Une nouvelle version aura probablement un sélecteur différent et vos tests échoueront. Pouvez-vous ajouter du HTML et une capture d'écran pour cette page que vous essayez de tester? – Tom

Répondre

0

Il fait un peu bizarre parce que très probablement votre CSS est une partie de l'écrasant style de RichFaces.

En ce qui concerne l'emplacement du menu déroulant, il ne se trouve pas sous l'élément parent inplaceSelect mais sous <body>. La plupart des éléments créés par RichFaces ont un nom de classe unique (au sein de la sous-arborescence du composant) que vous pouvez utiliser pour rechercher l'élément - le parent déroulant a rich-inplace-select-width-list.