2017-09-10 1 views
2

Je dois obtenir la valeur d'un <input>, en particulier le contenu de son attribut de valeur. Cependant, le input n'est pas visible, ce qui semble être un problème pour testcafé. Est-ce que quelqu'un sait comment contourner cela? Y at-il une option spéciale que vous pouvez utiliser avec le Selectors pour le faire fonctionner? Merci de m'avoir aidé, j'apprécie toute aide!Testcafé - obtention du contenu de l'attribut de valeur <input> invisible

Répondre

4

a obtenu, il suffit de déclarer un sélecteur comme celui-ci let yourInputs = Selector('input[type="hidden"]'), cela obtenir tous caché inputs et retourner un NodeList que vous pouvez parcourir votre tester.

Si vous souhaitez être plus précis et sélectionner un ID ou un nom, faites-le comme @lumio. Ensuite, vous pouvez accéder à la valeur de votre test avec await yourInputs.value.

+0

Aussi, si vous voulez exécuter JavaScript dans le Selector, vous pouvez l'utiliser comme suit: 'var yourVar = Selector (() => {" votre logique ici "})' - cela permet vous apporter des modifications à votre sélection par ailleurs assez statique. Renvoyez juste une chaîne, Node ou NodeList après que vous ayez fini. Ici vous pouvez aussi utiliser querySelector! – fweidemann14

2

Je suppose que vous voulez dire un élément d'entrée caché comme dans <input type="hidden" /> et vous voulez recevoir la valeur avant de l'envoyer à votre application de noeud. Vous pouvez utiliser querySelector pour cela.

console.log(document.querySelector('input[name=test]').value);
<input type="hidden" name="test" value="hello world" />


Pour TestCafé vous avez obtenu le Selector-constructor qui crée un sélecteur.

Comme fweidemann14 souligné, vous pouvez effectuer les opérations suivantes:

const hiddenInputs = Selector('input[type="hidden"]'); 
+0

Bien sûr, cela fonctionne, mais je veux utiliser les capacités de Testcafé, pas simplement js;) – fweidemann14

+0

Compris, votre js était en fait très utile, va upvote pour me mettre sur la bonne voie man;) – fweidemann14

+0

@ fweidemann14 génial! J'ai mal interprété 'TestCafé'. J'ai appris quelque chose de nouveau aujourd'hui. J'ai mis à jour ma réponse, mais j'accepterais votre réponse à la place! – lumio