我必须浏览网站上的所有页面并检查每个页面上的元素。这必须以递归方式发生,我选择使用PhantomJS。所以,我基本上在main.js
中有这样/这样的代码:
var page = require('webpage').create();
var allUrls = [];
var pageCheck = function(url) {
page.open(url, function(success) {
page.evaluate(function(allUrls, nextPage) {
// crawl all links, and if they are from this site ..
// add them to the allUrls array ..
// then check the page for the element ..
// and go to next eventual page ..
setTimeout(nextPage, 250);
}, allUrls, nextPage);
});
};
var nextPage = function() {
var nextUrl = allUrls.unshift();
if(nextUrl) pageCheck(nextUrl);
};
pageCheck('http://example.com/');
我用phantomjs main.js
称呼它。
但我看到的消息是“无法找到变量......”#34;当我清除所有这些 - 我现在看到Can't find variable: pageCheck
我该怎么做? ...... PhantomJS范围的所有内容是什么? ......
答案 0 :(得分:1)
我设法弄清楚了,感谢@ArtjomB:)
基本上,我的错误是我试图从<?php
$req3 = "SELECT DISTINCT conversation_id,column_name FROM `conversation_chat` WHERE
`user_to`='$userid1' ORDER BY conversation_id desc";
$query=mysql_query($req3);
$num=mysql_num_rows($req3);
$hy= mysql_fetch_array($req3);
$convo = $hy['conversation_id'];
if($num!=0){
$req4 = mysql_query("SELECT DISTINCT id,column_name FROM `chat` WHERE `to`='$userid1' AND
`conversation_id`='$convo' ORDER BY id desc ");
while($dn1 = mysql_fetch_array($req4))
{
?>
<td><img alt="example image" src="avatar.png"> <a
href="read?id=<?php echo $dn1['id']; ?>"><?php echo
htmlentities($dn1['from'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><span class="label vd_bg-green append-icon">
<?php
echo $dn1['subject']; ?></span></td>
<td style="width:80px" class="text-right">
<strong><?php echo timeAgo($dn1['time']); ?></strong></td><td
style="width:80px" class="text-right">
<?php echo '<a
href="mdelete.php?id='. $dn1['id'] .'">Delete</a>'; ?></td>
</tr>
<?php
}}else{ echo "No new messages";}
?>
调用全局内容,而我只能将其用于page.evaluate
操作。所以我把代码更改为/这样的一个:
page