每次尝试完成后,我都会尝试使用新选项调用goforit()函数。 我只想修改实际页面的值并将其传递给baseuri。
您能帮忙吗?我像鱼一样转过身来
实际上该函数返回相同的选项,但实际页面的值正在更改
Get-ADUser -Filter { Description -like "*Example*"} -Properties Description |
ForEach-Object {
$newDescription = $_.Description -replace "Example", "Example2"
Set-ADUser -Identity $_.DistinguishedName -Description $newDescription
}
答案 0 :(得分:1)
我认为您正在使用最新的节点版本。
options = {...options, uri: baseuri}
选项可以使用传播运算符进行更新。
添加此行,
const rp = require('request-promise');
const cheerio = require('cheerio');
var cookiejar = rp.jar();
var actualpage = 1;
var baseuri = 'https://www.website.page=' + actualpage;
var options = {
uri: baseuri,
headers: {
'Host': 'www.website.com',
'Connection': 'keep-alive'
},
jar: cookiejar,
transform: function(body) {
return cheerio.load(body);
}
};
goforit()
function goforit() {
actualpage = actualpage + 1
baseuri = 'https://www.website.com' + actualpage;
// add this line
options = {...options, uri: baseuri}
setTimeout(function() {
rp(options)
.then(($) => {
var arr = 0
arr = $('.bt__media__content p')
var fruits = $('.bt__ment p');
fruits.each(function(i, elem) {
console.log(fruits[i].children[0].attribs)
});
goforit()
})
.catch((err) => {
console.log(err);
});
}, 3000);
}
答案 1 :(得分:1)
您必须像这样在函数结束之前增加(actualpage)的值
function goforit() {
actualpage = actualpage + 1
baseuri = 'https://www.website.com' + actualpage;
setTimeout(function() {
rp(options).then(($) => {
var arr = 0
arr = $('.bt__media__content p')
var fruits = $('.bt__ment p');
fruits.each(function(i, elem) {
console.log(fruits[i].children[0].attribs)
});
actualpage++;
goforit()
})
.catch((err) => {
console.log(err);
});
}, 3000);
}
因此,在调用函数时(realistpage)是递增的。
希望有帮助。