然后再通过【执行js脚本】指令,执行下面的代码
let ele = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
这段代码是js中通过xpath获取元素的方法,其中第二个参数很关键,可以指定DOM对象,简单理解为父元素。通过影刀的拿到iframe里面的元素后,传递给第二个参数,就可以在这个元素的基础上使用xpath
运行流程可以看到浏览器控制台成功打印元素
同理,我们也可以在定位到元素后,给元素打一个标记,这样我们在伪造元素的时候,只需要定位到这个标记就可以定位到元素,为了方便我直接用时间戳来打标记,自定义一个属性 diy-uid。下面是一层一层打标记实现跨域的过程
和上一期一样,代码太长,发不出来,点击查看代码