首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >木偶师-如何导航沉重的javascript[ed]网页?

木偶师-如何导航沉重的javascript[ed]网页?
EN

Stack Overflow用户
提问于 2018-01-23 14:22:13
回答 1查看 1.4K关注 0票数 3

我希望使用木偶师浏览一个大量脚本的网站。我已经尝试过以下片段,但由于加载后续网页时超时,它将失败。

我还尝试将这个参数{waitUntil:networkidle0/networkidle2/load/domcontentloaded }包含在page.goto()中,但没有成功。

该网站有大量的广告脚本运行在后台。有人知道吗?

谢谢。

代码语言:javascript
复制
async function run() {
  const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });
  const page = await browser.newPage();
  page.setViewport({ width: 1280, height: 2000 });
  page.on('load', () => console.log('Page loaded!', page.url()));
  //Goto website home page
  await page.goto('https://www.discuss.com.hk');
  await page.screenshot({ path: 'dis1.png' });
  //goto another page in the website
  await page.goto('http://www.discuss.com.hk/forumdisplay.php?fid=215');
  await page.screenshot({ path: 'dis2.png' });
  //Goto another page in the website
  await page.goto('http://www.discuss.com.hk/forumdisplay.php?fid=1192');
  await page.screenshot({ path: 'dis3.png' });
  //Goto  another page in the website
  await page.goto('http://www.discuss.com.hk/viewthread.php?tid=27173245&extra=page%3D1');
  await page.screenshot({ path: 'dis4.png' });
  await browser.close();
  return 'done!';
}
EN

回答 1

Stack Overflow用户

发布于 2018-01-24 07:22:28

试着先等什么东西回来。我的经验法则是,每次我要求一个新的资源(单击一个按钮,去一个网址),我总是执行一个waitForSelector,在您的情况下,您可以使用。

代码语言:javascript
复制
await page.waitForSelector('#footer');

下面的脚本工作并创建3个png文件:-

代码语言:javascript
复制
const puppeteer = require('puppeteer'); 

async function run() {

    const browser = await puppeteer.launch( {
        headless: false //true
    }); 

    const page = await browser.newPage(); 
    await page.setViewport({ width:1280, height:2000});

    await page.goto('https://www.discuss.com.hk');
    await page.waitForSelector('#footer');
    await page.screenshot({ path: 'dis1.png' });

    await page.goto('http://www.discuss.com.hk/forumdisplay.php?fid=215');
    await page.waitForSelector('#footer');
    await page.screenshot({ path: 'dis2.png' });

    await page.goto('http://www.discuss.com.hk/forumdisplay.php?fid=1192');
    await page.waitForSelector('#footer');
    await page.screenshot({ path: 'dis3.png' });

    await browser.close(); 
}; 

run(); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48404001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档