كيفية استخدام مسج مع فانتومجس
سؤال
أنا أحاول أن تفعل اختبار بسيط من مسج مع فانتومجس:
var url = 'http://www.google.com/';
var page = require('webpage').create();
page.open(url, function () {
page.injectJs('jquery.min.js');
page.evaluate(function () {
console.log($('title').text());
});
phantom.exit()
});
يجب أن يطبع هذا العنوان ، ولكن بدلا من ذلك لا يحدث شيء.يمكن لأحد أن يقول لي ما هو الخطأ?
المحلول
page.evaluate
ينفذ وظيفتك في سياق الصفحة ، وليس في سياق فانتومجس.لذلك ، كل ما يستخدم console
ستتم طباعتها (وستكون مرئية) فقط لمثيل صفحة الويب الحالي.
لإعادة توجيه console
الإخراج ، يجب عليك استخدام onConsoleMessage
رد الاتصال.
var url = 'http://www.google.com/';
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open(url, function () {
page.injectJs('jquery.min.js');
page.evaluate(function () {
console.log($('title').text());
});
phantom.exit()
});
المرجع: علىالرسالة
نصائح أخرى
يبدو أنك في عداد المفقودين #
لاستهداف العنصر بواسطة id
:
console.log($('#title').text());
// ----- ^ add here
إذا title
هو فئة ثم يمكنك استخدام .
:
console.log($('.title').text());
لا تنتمي إلى StackOverflow