web-dev-qa-db-fra.com

Comment définir la valeur d'une balise input dans casperJs

J'ai l'élément d'entrée comme indiqué:

<input type="text" class="bg-white" id="couponCode" value="">

Comment puis-je définir/remplir sa valeur en utilisant casperJs

22
user2129794

Utilisation de casper.sendKeys('selector', value);

http://casperjs.readthedocs.org/fr/latest/modules/casper.html#sendkeys

40
Srikanth Malyala

Il existe différentes méthodes disponibles pour accomplir cette tâche.

Vous devez utiliser casper.sendKeys() sauf si vous devez effectuer une opération plus complexe.


casper.sendKeys() :

Si vous souhaitez définir la valeur de l'environnement CasperJS et que l'élément inputest éventuellement à l'intérieur d'un élément form, vous pouvez utiliser casper.sendKeys():

casper.sendKeys( '#couponCode', 'Hello, world!' );

casper.fill() :

Si vous souhaitez définir la valeur de l'environnement CasperJS et de l'élément inputest dans un élément form et que inclut un attribut name, vous pouvez utiliser casper.fill():

casper.fill( '#form',
{
    'couponCode' : 'Hello, world!'              // #form [name="couponCode"]
});

casper.fillSelectors() :

Si vous souhaitez définir la valeur à partir de l'environnement CasperJS et de l'élément inputest dans un élément form et si vous souhaitez référencer l'élément input à l'aide d'un sélecteur CSS3, vous pouvez utiliser casper.fillSelectors(). :

casper.fillSelectors( '#form',
{
    '#couponCode' : 'Hello, world!'             // #form #couponCode
});

casper.fillLabels() :

Si vous souhaitez définir la valeur de l'environnement CasperJS et de l'élément inputest dans un élément form et que inclut un élément label associé avec du texte, vous pouvez utiliser casper.fillLabels():

casper.fillLabels( '#form',
{
    'couponCode' : 'Hello, world!'              // #form label[text()="couponCode"] input
});

casper.fillXPath() :

Si vous souhaitez définir la valeur à partir de l'environnement CasperJS et de l'élément inputest dans un élément form et si vous souhaitez référencer l'élément input à l'aide d'un sélecteur XPath, vous pouvez utiliser casper.fillXPath(). :

casper.fillXPath( '#form',
{
    '//*[@id="couponCode"]' : 'Hello, world!'   // #form #couponCode
});

casper.evaluate() :

Si vous souhaitez définir la valeur à partir de l'environnement DOM Page et que l'élément inputest éventuellement à l'intérieur d'un élément form, vous pouvez utiliser casper.evaluate():

casper.evaluate( function ()
{
    document.getElementById( 'couponCode' ).value = 'Hello, world!';
});

Remarque: De la même manière que evaluate(), vous pouvez également utiliser: evaluateOrDie() , thenEvaluate() ou thenOpenAndEvaluate() (si vous souhaitez effectuer deux opérations ou plus en même temps en relation étapes en cours d'exécution).

0
Grant Miller