PhantomJS在他开始加载之前更改JS src
PhantomJS Change JS src before he starts loading
我试图更改Javascriptsrc,以便获得一个用于测试某些Javascript的"开发环境"。
(显然,我无法构建一个真实的开发环境,我无法在开发环境中镜像此网站)。
所以我想用PhantomJS操作Dom,用CasperJS测试javascript。我想转换(例如)这个脚本
<script type="..." language="..." src="production_path/source.js"></script>
进入这个
<script type="..." language="..." src="dev_path/source.js"></script>
在脚本开始加载之前。
我正在试用
casper.start("http://www.example.com/",function(status){
var scripts = document.getElementsByTagName('script');
casper.each(scripts,function(self,my_script){
//here i would rewrite script url
});
});
casper.run();
但它不起作用。恐怕我得等点什么,但我不明白是什么。
退一步,可以把你的问题重新表述为:当PhantomJS试图加载"production_path/source.js"时,我如何让它加载"dev_path/ssource.js"?
如果是,请编写一个onResourceRequested
处理程序,并使用resourceRequest
对象的changeUrl
函数。
它将是这样的:
casper.page.onResourceRequested = function(requestData, networkRequest) {
if(requestData.url == 'production_path/source.js'){
console.log("Changing request from production to dev for source.js");
networkRequest.changeUrl('dev_path/source.js');
}
};
当然,在实际情况下,我会使用regex替换(正如我所期望的,有多个URL需要替换)。
(未测试,所以如果它不起作用,请告诉我,我会更仔细地研究它。)
相关文章:
- js:如何隐藏/加密图像的src
- 显示“<script src='some.js'></脚本>"在Html文档中
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- Gulp js src :首先获取最深的文件
- JS:设置src更改的动画持续时间
- Windows Phone浏览器控件执行JS函数来替换src属性
- 更改图像src-dons't工作jquery/js
- Cordova接受<script src=“;myfile.js”>在<头部>
- Jasmine 不从“src”目录加载 js 文件
- 使用 JS 将字符串附加到映像 SRC
- SRC 是否覆盖写入的 JS
- 更改图像 src 的展开/折叠功能(JQ 或 JS)
- pdf.js IE11 中的错误,src 属性 (0x800a138f)
- 在 KNOCKOUT.js 中动态调用 attr src 上的子级函数
- 在另一个文件中添加JS src
- PhantomJS在他开始加载之前更改JS src
- 当我使用js src从php页面获取内容时,谷歌不显示我的页面搜索结果
- 如何由用户更改js-src's正在打字
- Video.js .src()函数无法识别