【问题标题】:How do I parse a variable or multi value cookie in Selenium?如何在 Selenium 中解析变量或多值 cookie?
【发布时间】:2010-11-12 19:49:48
【问题描述】:

我正在尝试使用 Selenium IDE 解析多值 cookie。我有这个作为我的跟踪 Cookie 值:G=1&GS=2&UXD=MY8675309=&CC=234&SC=3535&CIC=2724624

到目前为止,我只是使用标准的 StoreCookieByName 命令将完整的 cookie 捕获到 Selenium 变量中:

storeCookieByName 追踪 追踪

但是我想为我的测试获取 cookie 的特定子元素,例如 MY8675309 的 UXD 值。

我曾尝试使用 Javascript 进行解析,但都没有成功,但对它和 StoreCookieByName 值都没有。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript selenium parsing cookies


    【解决方案1】:

    如果 Tracking Cookie Value 是一个字符串,那么:

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

    【讨论】:

    • 来自蒂姆:谢谢钢琴家。我看到它如何与定义的数组位置和子值可变长度一起工作,但我希望有更动态的东西,我可以按名称请求任何 cookie 子值并将其值作为字符串返回。谢谢。
    【解决方案2】:

    这是一个通用的解决方案。这有点笨拙,但我想不出更简洁的方法:

    // 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];
    

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多