所以我试图用 phantomjs 获取页面的源代码,然后使用 jquery 将该源代码发布到 php 页面以进行进一步处理。
这是我的第一个 PHP 页面
<?php
$output = shell_exec("sudo /usr/local/bin/phantomjs --proxy=127.0.0.1:8118 --web-security=false ./test.js");
?>
它触发 test.js 就好了!
我在 Linux CentOS 64bit 上运行 phantomjs
下面是 Test.js,我想转到一个 git hub 页面,然后一旦加载,我想评估页面,获取页面的 html,注入 jQuery 确保没有冲突,然后将该页面源发送到 post -put-or-get.php。
我已经测试了 jquery,它正在被注入并且基本的 dom 操作正在工作,我可以更改 git hub 页面的字体大小等
我已经尝试过发布、放置和获取,Test.js 页面上的所有内容都有效,但 Jquery Ajax 调用无效?
我已经尝试过打开和关闭异步,不同的内容类型,但它就像 jQuery.ajax 出于某种原因被忽略了?
我什至尝试放弃 jquery 并仅使用 javascript 尝试发布但仍然没有,我只是不能发布?
我是在做一些疯狂的事情还是应该修复的东西坏了?
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open("https://github.com/logxen/SmoothieBoard/tree/feature/5driver", function(status) {
if ( status === "success" ) {
page.evaluate(function() {
data = document.body.innerHTML;
console.log(data);
page.injectJs('jquery-1.7.2.min.js');
jQuery.noConflict();
jQuery.ajax({
type:'POST',
async: false ,
url:'post-put-or-get.php',
contentType: 'application/x-www-form-urlencoded',
data:'htmlsource='+data,
success:function(datafeed) {
if(datafeed) {
console.log(datafeed);
} else {
console.log("no joy");
}
}
});
});
phantom.exit();
}
});