如何从嵌套的“ div”中提取元素

时间:2018-11-29 05:00:04

标签: javascript cypress

我要从柏树中拾取以下元素。

render(){
        return(
            <div id = "d1">
                {this.state.data.map(
                (data,index) => (
                    <div id = "d2">
                        <h1 id = "txt1"> {data.title} </h1><br/><h2 id = "txt2">{data.author}</h2><br/><span id = "txt3">{data.article}</span><hr/>
                    </div>
                )
                )}
            </div>
        )
    }

我正在学习柏树。我不太确定如何从div中挑选元素。即内部div以及“ title”和“ header”元素。

2 个答案:

答案 0 :(得分:2)

要查找title中的h1,可以尝试以下代码。在等号内,您应提供“真实标题”名称以在断言部分中进行验证;

cy.get('#d2>h1').invoke('text')
      .then((text)=>{
        const title = text;
        expect(title).to.equal("typeherethedata.title");        
      })

cy.get('#txt1').invoke('text')
          .then((text)=>{
            const title = text;
            expect(title).to.equal("typeherethedata.title");        
          })

答案 1 :(得分:1)

cy.get("#d1")将使您司空见惯。 cy.get("#txt1")将为您提供标题,然后,如果您想断言标题是您所期望的(或有关元素的其他任何内容),则可以添加一个.should()

cy.get("#txt1")
  .should("contain", "Your title here")