Maison  >  Questions et réponses  >  le corps du texte

"waitForSelector" expire avant que l'élément ne devienne visible, même si l'élément est à l'écran

Je suis en train de construire un robot de paiement mais j'ai des problèmes avec ces stupides fenêtres contextuelles "entrez votre numéro de téléphone pour recevoir un message texte" où l'élément sur lequel je dis au robot de cliquer apparaît à l'écran mais le robot ne le fait pas. Clique dessus. C'est mon premier projet utilisant JavaScript et je n'ai aucune idée de ce que je fais et j'apprends actuellement beaucoup au fur et à mesure, mais je suis vraiment coincé ici et je n'arrive pas à trouver ce que je fais de mal.

async function regectingnumber(page) {
    try {
        console.log("拒绝号码")
        //await waitForTimeout(2000)
        //await page.setDefaultNavigationTimeout(60000);
        console.log("等待中...")
        await page.waitForSelector('button[class= css-10e85z4 errp0sa0]', {timeout:60000})
         console.log("等待中...")
         await page.evaluate(() => document.getElementsByClassName('button css-10e85z4 errp0sa0')[0].click());
        console.log("号码已输入!");
        //await page.click('button[class="css-yq30jm e5ippug0"]');
        //console.log("号码已拒绝!");
    } catch (err) {
        console.error(err);
    }
}

Ceci n'est qu'une petite partie du code, j'ai une erreur sur cette partie car je ne peux pas publier le code complet sinon il sera considéré comme du spam.

P粉761718546P粉761718546178 Il y a quelques jours1421

répondre à tous(1)je répondrai

  • P粉052686710

    P粉0526867102024-04-05 15:09:49

    Votre sélecteur est erroné, veuillez le changer

    await page.waitForSelector('button[class= css-10e85z4 errp0sa0]', {timeout:60000})
    

    pour

    await page.waitForSelector('button.css-10e85z4.errp0sa0', {timeout:60000})
    

    Pour l'utiliser pour des actions de clic, vous pouvez le stocker dans une variable :

    const myButton = await page.waitForSelector('button.css-10e85z4.errp0sa0', {timeout:60000});
    await myButton.click();
    

    Voir https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector pour utiliser les sélecteurs dans la console.

    répondre
    0
  • Annulerrépondre