weixin_40538809
外向小朋友
2019-06-12 09:30

使用puppeteer做自动检测,登陆跳转完成后,在执行点击操作时报错怎么解决?

20
  • node.js
  • css
  • html5
  • javascript
  • visual studio

最近尝试用puppeteer做自动检测,我在跳转后,选取::before ::after做点击事件,代码如下

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({
        headless: false,
         timeout: 30000,
    });
    const page = await browser.newPage();
    await page.goto('http://localhost:62114/Account/Login?ReturnUrl=%2F');
    await page.click("a[data-target='#TenantChangeModal']")
    await page.waitFor(1000);
    await page.type("input[name='TenancyName']",'Default',{delay:100})
    await page.waitFor(500);
    await page.click('.btn.btn-primary.save-button.waves-effect');
    await page.waitFor(2000);
    await page.type("input[name='usernameOrEmailAddress']",'admin',{delay:100});
    await page.waitFor(500);
    await page.type("input[name='Password']",'123qwe',{delay:100});
    const navigationPromise = page.waitForNavigation();
    await page.click('#LoginButton'); //然后点击
    await page.waitFor(1000);
                await page.click("a[class='bars::before']");
        //await page.click("a[class='bars']"); //然后点击
})();

跳转成功了
第一个报出这种错误:No node found for selector: a[class='bars::before']
被注释掉的是这个错误:
图片说明
这个错误我分析要么是这个选取得时候错了,a[class='bars::beforean']这样得选取不了,要么是页面里面的东西没获取到,请前辈们帮我看一下,给个解决方案,万分感谢。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答