そのため、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 64ビットでphantomjsを実行しています
以下は、gitハブページに移動したいTest.jsです。ロードしたら、ページを評価し、ページのhtmlを取得し、jQueryを挿入して競合がないことを確認し、そのページソースを投稿に送信します-put-or-get.php。
私はjqueryをテストしましたが、それは注入されており、基本的なdom操作が機能しています.gitハブページのフォントサイズなどを変更できます
post、put、get を試しましたが、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();
}
});