Question Traitement de chaines de caracteres (Résolu)

Plus d'informations
il y a 16 ans 6 mois #1096 par daniel soares
Bonjour je voudrais sur un script de test d'url entrer automatiquement les login et mot de passe issus d'un fichier csv
le fichier est sous la forme

____________________________________________________
environnement1;url1;login1;mdp1;text1;...
environnement2;url2;login2;mdp2;text2;formulaire2;...
_____________________________________________________

le nombre de lignes et de colones est indeterminé mais le caractere de separation est le point virgule
je sais retrouver les lignes qui ont une url par contre je ne sais pas comment extraire la valeur qui se trouve derriere le ; qui suit l'url pour le stocker en tant que login et extraire la valeur suivante en tant que mdp ... etc si plusieurs entrées de formulaires sont necessaires.
le dernier test serait donc de verifier si il n'y a plus de ; sur la ligne.

un autre point serait de faire un appel de fonction a chaque test pour lancer le script suivant qui est le test lui meme

__________________________________________________
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Navigate(\"http://monurl1/Login.aspx\")
for ($wait =1; $wait -le 400; $wait++)
{$wait | out-null}
# $ie |out-file temp
$ie.document.getElementById('UserLogin').value =\"login1\"
$ie.document.getElementById('UserPass').value =\"mdp1\"
$ie.document.getelementbyid('objLoginBtn').click()
# $ie | out-file temp
for ($wait =1; $wait -le 400; $wait++)
{$wait | out-null}
$ie.Document.getElementById('txtCustomerCode').value =\"valeur1\"
$ie.document.getelementbyid('objSubmitIdentifierBtn').click()
$ie.Visible = $true
___________________________________________________


merci d'avance

existe il une doc specialisée dans les manipulations de chaines de caracters<br><br>Message édité par: Arnaud, à: 12/10/07 09:58

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1099 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:chaines de caracteres
Tu peux lire ton fichier csv sous cette forme:

[code:1]
get-content fichier.csv | foreach {
$env,$url,$login,$mdp,[array]$reste = $_.Split(\&quot;;\&quot;«»)
}[/code:1]

Ici, les quatre premiers champs de chaque ligne sont affectés respectivement aux variables $env, $url, $login et $mdp.

Les valeurs restantes sur la ligne sont affectées au tableau $reste. Elles sont accessibles dans leur ordre d'apparition sur la ligne en tant que $reste[0], $reste[1], etc. Le tableau est vide s'il n'y a que quatre valeurs sur une ligne.

A toi de gérer dans la boucle foreach l'appel à la fonction en lui passant les paramètres comme il convient.

Janel<br><br>Message édité par: janel, à: 10/10/07 18:34

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1124 par daniel soares
Réponse de daniel soares sur le sujet Re:chaines de caracteres
merci ca fonctionne et c'est beaucoup plus simple que je pensais

get-content fichier.csv | where {$_ -match \&quot;http\&quot;} | foreach {
[array]$infos = $_.Split(\&quot;;\&quot;)

write-host \&quot;env \&quot; $infos[0]
write-host \&quot;url \&quot; $infos[1]
write-host \&quot;compte \&quot; $infos[2]
write-host \&quot;mdp \&quot; $infos[4]
write-host \&quot;user \&quot; $infos[6]
write-host \&quot;param \&quot; $infos[7]
}

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1132 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:chaines de caracteres
Impeccable.

Petite précision: tu n'as pas besoin de préciser [array] devant ta variable $infos. Le type est déduit de ce qui est passé après le signe '='.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.070 secondes
Propulsé par Kunena