Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Puppeter page.goto不适用于查询参数_Node.js_Web Scraping_Puppeteer - Fatal编程技术网

Node.js Puppeter page.goto不适用于查询参数

Node.js Puppeter page.goto不适用于查询参数,node.js,web-scraping,puppeteer,Node.js,Web Scraping,Puppeteer,使用Puppeter,我尝试导航到不同查询参数集的新页面。Puppeter更新URL的查询参数,但不导航到新页面。这似乎是预期的行为,因为手动测试时需要按两次enter键才能转到浏览器中的新页面 以下是代码行: wait page.goto(`https://www.google.com/get/sunroof/building/${lat}/${lng}/#?f=${type}&b=${amount}`); 更改lat和lng将进入新页面类型和金额没有 好处:导航到新页面的另一种选择可能是调

使用Puppeter,我尝试导航到不同查询参数集的新页面。Puppeter更新URL的查询参数,但不导航到新页面。这似乎是预期的行为,因为手动测试时需要按两次enter键才能转到浏览器中的新页面

以下是代码行:

wait page.goto(`https://www.google.com/get/sunroof/building/${lat}/${lng}/#?f=${type}&b=${amount}`);
更改
lat
lng
将进入新页面<代码>类型和
金额
没有

好处:导航到新页面的另一种选择可能是调用网页上处理查询参数数据的函数。它们绑定到按钮和页面上的下拉列表。。。单击按钮和下拉列表时,参数将显示在URL中


该应用程序是Angular版本1.6.4。我不确定这是否可能。。。但如果是的话,那就太棒了

这确实是AngularJs应用程序的预期行为

如果您对解决方案感兴趣:那么如果您在两个具有不同类型和金额参数的页面之间访问“about:blank”,您将能够重新加载内容。您只需在每次查询更改之间使用
page.goto

const puppeter=require('puppeter')
异步函数getSunRootPages(){
const browser=wait puppeter.launch({headless:false})
const page=wait browser.newPage()
let类型
出租金额
//首次访问
试一试{
类型='租赁'
金额=5000
等待page.goto(`https://www.google.com/get/sunroof/building/36.7396315/-119.7842608/#?b=${amount}&f=${type}`)
}捕获(e){
控制台错误(e)
}
//诀窍
等待page.goto('about:blank')
//第二次访问
试一试{
类型=‘购买’
金额=80000
等待page.goto(`https://www.google.com/get/sunroof/building/36.7396315/-119.7842608/#?b=${amount}&f=${type}`)
wait page.waitFor(10000)//给您时间检查它是否是不同的内容
}捕获(e){
控制台错误(e)
}
等待浏览器关闭()
}
GetSunRootPages()

这确实是AngularJs应用程序的预期行为

如果您对解决方案感兴趣:那么如果您在两个具有不同类型和金额参数的页面之间访问“about:blank”,您将能够重新加载内容。您只需在每次查询更改之间使用
page.goto

const puppeter=require('puppeter')
异步函数getSunRootPages(){
const browser=wait puppeter.launch({headless:false})
const page=wait browser.newPage()
let类型
出租金额
//首次访问
试一试{
类型='租赁'
金额=5000
等待page.goto(`https://www.google.com/get/sunroof/building/36.7396315/-119.7842608/#?b=${amount}&f=${type}`)
}捕获(e){
控制台错误(e)
}
//诀窍
等待page.goto('about:blank')
//第二次访问
试一试{
类型=‘购买’
金额=80000
等待page.goto(`https://www.google.com/get/sunroof/building/36.7396315/-119.7842608/#?b=${amount}&f=${type}`)
wait page.waitFor(10000)//给您时间检查它是否是不同的内容
}捕获(e){
控制台错误(e)
}
等待浏览器关闭()
}
GetSunRootPages()

这太棒了。非常感谢!我正在合上这一页,打开一个新的。比我的黑客更有效:)这太棒了。非常感谢!我正在合上这一页,打开一个新的。比我的黑客更有效:)