我们发现casperjs其实就是一段脚本,那么这段脚本是怎么运行起来的,是怎么调用phantomjs的。当我们运行一个casperjs实例的同时,按下ctrl+z让casperjs 在后台挂起,这个时候查询phantom就会发现有如下进程在运行:
phantomjs /samba/work/casperjs/bin/bootstrap.js
--casper-path=/samba/work/casperjs --cli ../../crawl.js --url=http://qq.com
很显然,实际运行的是phantomjs,那么我们运行时的casperjs是如何调用phantomjs的?在linux下,实际的casperjs是一段python代码,最开始shell驱动执行发现casperjs第一行代码:
#!/usr/bin/env python
于是启动python去执行后续的代码。python代码的字后面会启动phantomjs执行相应的casperjs代码。