无法从赛普拉斯的html主体中提取CSRF令牌

时间:2019-08-04 06:05:48

标签: html-parsing csrf cypress csrf-token

我无法从Cypress中的html解析CSRF令牌。 我正在关注此链接:Logging in using CSRF Token in Cypress

在上面的链接中尝试遵循策略#1 ,但是我一直得到未定义的令牌。

这是我的html的样子:

Return html looks like this

这是我的代码的样子:

           cy.request({
                url: returnUrlFromLoginAPI,
                followRedirect: false
            })
            .its('body')
            .then((body) => {
                const $html = Cypress.$(body)
                const requestVerificationToken = $html.find("input[name=__RequestVerificationToken]").val()
                console.log(requestVerificationToken)
             })
        })

2 个答案:

答案 0 :(得分:0)

.find寻找当前元素集的后代,而我的meta标签是该元素集的一部分,而不是后代。这就是为什么您应该使用.filter的原因,因为过滤器会查找当前集及其后代

答案 1 :(得分:0)

不确定“正确”的方式是什么,但是我做到了:

cy.get('[name=__RequestVerificationToken]').then($rvt => {
   console.log($rvt.val());
}