Javascript 木偶演员无效选择器

Javascript 木偶演员无效选择器,javascript,css-selectors,puppeteer,headless-browser,Javascript,Css Selectors,Puppeteer,Headless Browser,我试图在网页上用木偶演员填充表单,输入有一个id,我使用它作为选择器 ID是: #loginPage:SiteTemplate:formulaire:login-field 当我从chrome获得选择器时,它会告诉我: #loginPage\3a SiteTemplate\3a formulaire\3a login-field 无论我在《木偶戏》中选择第一个还是第二个选项,它都会告诉我这个错误: Error: Evaluation failed: DOMException: Failed

我试图在网页上用木偶演员填充表单,输入有一个id,我使用它作为选择器

ID是:

#loginPage:SiteTemplate:formulaire:login-field
当我从chrome获得选择器时,它会告诉我:

#loginPage\3a SiteTemplate\3a formulaire\3a login-field
无论我在《木偶戏》中选择第一个还是第二个选项,它都会告诉我这个错误:

Error: Evaluation failed: DOMException: Failed to execute 'querySelector' on 'Document': '#loginPage:SiteTemplate:formulaire:login-field' is not a valid selector.
以下是代码(如果需要):

(async () => {
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    await page.goto('XXX');
    await page.click(GOTO_LOGIN_BUTTON_SELECTOR)
    await page.waitForNavigation({waitUntil: 'load'});
    await page.waitFor(EMAIL_SELECTOR); // here
    await page.focus(EMAIL_SELECTOR);
    await page.keyboard.type(CREDS.email);
    await page.focus(PASSWORD_SELECTOR);
    await page.keyboard.type(CREDS.password);

    await browser.close();
})();

对于这样的ID,一个选项是执行以下操作:

const EMAIL_SELECTOR = '[id="loginPage:SiteTemplate:formulaire:login-field"]';
或者,如果这不起作用,请按如下方式将其拆分,以解决

const EMAIL_SELECTOR = '[id*="loginPage"][id*="SiteTemplate"][id*="formulaire"][id*="login-field"]';

希望其中一个(或两个)会有所帮助

我不确定,但我会删除行
wait page.waitForNavigation({waitUntil:'load'})

并替换
wait page.waitFor(电子邮件选择器);//此处

使用
wait page.waitForSelector(电子邮件选择器)

并测试是否仅使用#登录字段或其他
#登录页面>SiteTemplate>formulaire>登录字段

我可能错了,因为我还在努力解决这个问题