Selenium Webdriver - cliquez sur les éléments cachés
Je suis en train d'automatiser le téléchargement du fichier fonctionnalités de Google Drive.
L'élément utilisé pour passer des paramètres est cachée avec hauteur 0px.
Aucune des actions de l'utilisateur ferait de cet élément visible. J'ai donc besoin d'un travail autour de cliquer sur l'élément, tout en elle n'est pas visible.
<input type="file" style="height: 0px; visibility: hidden; position: absolute; width: 340px; font-size: inherit;" multiple=""/>
Le chemin xpath de l'élément est -
//*[@class='goog-menu goog-menu-vertical uploadmenu density-tiny']/input
Je suis en utilisant
WebDriver.findElement(By.xpath(<xpath>).sendKeys(<uploadFile>)
Exception -
org.openqa.selenium.ElementNotVisibleException
- Élément n'est pas visible et ne peuvent donc pas être en interaction avec.
J'ai essayé d'utiliser JavascriptExecutor. Mais impossible de trouver la syntaxe exacte.
source d'informationauteur praneel | 2012-09-11
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Ci-dessus tas allait changer la visibilité de votre fichier de contrôle d'entrée. Vous pouvez ensuite poursuivre avec les étapes habituelles pour le téléchargement de fichiers comme:
Être conscient, par modification de la visibilité d'un champ de saisie vous êtes l'ingérence de l'application sous test. L'injection de scripts pour modifier son comportement est intrusive et n'est pas recommandé dans les tests.
Solution Simple qui va ici ,
Essayez cet exemple de code:
À l'aide de java script exécuteur testamentaire et de faire de l'élément visible, puis cliquez sur l'élément avec l'ID. Espérons qu'il hepls..
Vous pouvez donner à la suite d'un essai :
Essayez ceci:
Ici, j'ai remplacé XPath par Sélecteur CSS. Permettez-moi de savoir, c'Est le script ci-dessus fonctionne ou pas.