QueryPath を使用して HTML ファイルをスクレイピングしています。これらの HTML ファイル内には、HTML コメントで囲まれたいくつかの JS スクリプトがあります。JS は画面に表示されるテキスト コンテンツを生成するため、JS スクリプトを実行しないとテキスト コンテンツを見つける (スクレイピングする) ことはできません。
QueryPath を使用して JS スクリプトを実行することはできますか?
2 に答える
0
現在、QueryPath内でJavaScriptを実行する方法はありません。その理由は、PHPがブラウザwindow
オブジェクトにもJavaScriptインタプリタにもアクセスできないためです。
私が知っている最善の代替策は、Selenium(基本的にはブラウザーのリモートコントローラー)を使用してブラウザーを実行し、次にPHPSeleniumライブラリーの1つを使用して結果を取得することです。もちろん、必要に応じて、PHPSeleniumライブラリでQueryPathを使用することもできます。
PHPSeleniumライブラリの適切な概要は次のとおりです。http://css.dzone.com/articles/selenium-2-php-code
于 2012-05-23T01:42:02.480 に答える
0
JSスクリプトをhtmlページに追加してみましたか?
qp(QueryPath::HTML_STUB)->append('<script type="text/javascript" language="javascript">alert("Hello!");</script>')->writeHtml();
于 2011-08-03T04:37:43.007 に答える