javascript - 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 中删除脚本。
解决方案
最后我使用 Selenium Wire 来拦截响应并更改它。我document.quiz = quiz;
在初始化后添加。
推荐阅读
- google-chrome - 在 Firefox 扩展中收到响应后,使用 requestId 检索请求
- qt - 如何从我的 qt 安装程序绕过 Microsoft Defender?
- python - 无法“激活” virtualenv
- bash - 期望脚本调用 bash 脚本,输出可能不会发生
- c++ - 浮点类型作为 C++20 中的模板参数
- devops - 设置 DevOps 默认项目集合
- reactjs - 反应 useState 重新渲染
- java - Quarkus 测试中的嵌入式 postgres 无法连接
- c# - 如何从数据视图中选择单个分组列?
- reactjs - 无法删除firebase / firestore中数组内具有确定值的对象