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
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
.
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"]');
Bien sûr, cela fonctionne, mais je veux utiliser les capacités de Testcafé, pas simplement js;) – fweidemann14
Compris, votre js était en fait très utile, va upvote pour me mettre sur la bonne voie man;) – fweidemann14
@ 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
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