2009-07-21 11 views
2

J'essaie d'analyser un cookie multi-valeur en utilisant l'IDE Selenium. J'ai ce que mon Cookie de suivi Valeur: G = 1 & GS = 2 & UXD = MY8675309 = & CC = 234 & SC = 3535 & CIC = 2724624Comment analyser un cookie variable ou multi-valeur dans Selenium?

Jusqu'à présent, j'ai simplement pris le plein biscuit dans une variable Sélénium avec la commande standard StoreCookieByName:

storeCookieByName Suivi Suivi

Cependant, je veux obtenir un sous-élément particulier du cookie pour mon test, comme le Valu UXD e de MY8675309.

J'ai essayé d'utiliser Javascript pour analyser et tous mais je n'ai pas eu de chance avec la valeur StoreCookieByName.

Toute aide serait appréciée.

Répondre

1

Si la valeur cookie de suivi est une chaîne, puis:

var subElements = cookieString.split("&"); 
var UXDValue = subElements[2].substring(4); 
+0

De Tim: Merci pianoman. Je vois comment cela fonctionne avec une position de tableau définie et une longueur de variable de sous-valeur mais j'espérais quelque chose de plus dynamique que je pourrais demander n'importe quelle sous-valeur de cookie par son nom et la renvoyer comme une chaîne. Merci. –

1

Voici une solution généralisée. C'est un peu maladroit, mais je ne peux pas penser à une méthode plus concise:

// Declare variables. 
var subElements = cookieString.split("&"); 
var subElemPairs = new Array(); 
var subNameValues = new Array(); 

// Obtain sub-element names and values. 
for (i = 0; i < subElements.length; i++) 
{ 
    subElemPairs[i] = subElements[i].split("="); 
} 

// Place sub-element name-value pairs in an associative array. 
for (i = 0; i < subElemPairs.length; i++) 
{ 
    subNameValues[subElemPairs[i][0]] = subElemPairs[i][1]; 
} 

// Example sub-element value request. 
var requestedElemName = "SC"; 
var resultingElemValue = subNameValues[requestedElemName]; 
Questions connexes