栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Selenium:如何在加载/执行页面的任何其他脚本之前将Javascript插入/执行到页面中?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Selenium:如何在加载/执行页面的任何其他脚本之前将Javascript插入/执行到页面中?

如果您无法修改页面内容,则可以使用代理或在浏览器中安装的扩展程序中使用内容脚本。在selenium中执行此操作,您将编写一些代码将脚本作为现有元素的子元素之一注入,但是在页面加载之前(驱动程序的

get()
调用返回时)您将无法运行脚本。

String name = (String) ((JavascriptExecutor) driver).executescript(    "(function () { ... })();" ...

该文档未指定代码开始执行的时间。您可能希望在DOM开始加载之前就这样做,以使保证只能通过代理或扩展内容脚本路由来满足。

如果可以使用最少的工具来检测页面,则可以检测到特殊的url查询参数并加载其他内容,但是您需要使用内联脚本来实现。伪代码:

 <html>    <head>       <script type="text/javascript">       (function () {       if (location && location.href && location.href.indexOf("SELENIUM_TEST") >= 0) {          var injectscript = document.createElement("script");          injectscript.setAttribute("type", "text/javascript");          //another option is to perform a synchronous XHR and inject via innerText.          injectscript.setAttribute("src", URL_OF_EXTRA_script);          document.documentElement.appendChild(injectscript);          //optional. cleaner to remove. it has already been loaded at this point.          document.documentElement.removeChild(injectscript);       }       })();       </script>    ...


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号