6

HTMLコードを取得するために、以下のphantomJSコードがあります。

var page = require('webpage').create();
var url = 'http://example.com/';

page.open(url, function (status) {
    var js = page.evaluate(function () {
        return document;
    });
    console.log(js.all[0].outerHTML); 
    phantom.exit();
});

取得したいコンテンツは、マウスが JavaScript によって制御される特定の要素の上に置かれている間のみ読み取られるため、上記のコードは機能しません。

phantomJS コードを使用して、HTML 要素上でのマウス ホバーをシミュレートする方法を知りたいです。マウスを要素の上に置き、HTML をダンプして出力したいとします。どうすればよいでしょうか?

編集:次のコードは機能しませんでした。何が問題なのですか?

var page = require('webpage').create();
var url = 'http://example.com/';

page.open(url, function (status) {
    page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function(){
        $('#some_element').trigger('hover');
    });
    var js = page.evaluate(function () {
        return document;
    });
    console.log(js.all[0].outerHTML); 
    phantom.exit();
}); 
4

1 に答える 1

3

jquery でページを読み込んでみてください:

page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
    //(...)
});

次に、要素に hover を呼び出します。

$('#some_element').trigger('hover');
于 2013-06-04T12:12:47.000 に答える