首页 > 解决方案 > Selenium 如何从从 DOM 中删除的脚本中获取变量

问题描述

<script id="[randomid]">
document.addEventListener("DOMContentLoaded",function(){
    var quiz=new Quiz();
    //// some logic here
    document.getElementById('[randomid]').parentNode.removeChild(document.getElementById('[randomid]'));
});
</script>

我正在尝试在 selenium 中获取变量测验并在其上执行一些功能。但问题是,在我可以做任何事情之前,它已经从 dom 中删除并且它正在 bakground 中工作。我可以使用以下方法在 chrome 控制台中打印此对象:queryObjects(Quiz)。但它只是打印而不返回对象。所以我正在寻找函数,例如,它会返回所有选择类型的变量,或者会以某种方式将此脚本恢复为 dom。也许可以防止从 dom 中删除脚本。

标签: javascriptselenium

解决方案


最后我使用 Selenium Wire 来拦截响应并更改它。我document.quiz = quiz;在初始化后添加。


推荐阅读