"waitForSelector"在元素可見前超時等待,儘管元素在螢幕上
P粉761718546
P粉761718546 2024-04-04 18:31:08
0
1
1723

我正在建造一個結帳機器人,但是在處理那些愚蠢的「輸入手機號碼以接收簡訊」的彈跳窗時遇到了麻煩,我告訴機器人要點擊的元素出現在螢幕上,但機器人卻不點擊它。這是我第一個使用JavaScript的項目,我不知道自己在做什麼,目前我正在邊學邊做的過程中學到了很多,但我真的卡在這裡,找不到我做錯了什麼。

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);
    }
}

這只是程式碼的一小部分,我在這部分上遇到了錯誤,因為我不能發布完整的程式碼,否則會被視為垃圾訊息。

P粉761718546
P粉761718546

全部回覆(1)
P粉052686710

您的選擇器是錯誤的,請更改

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

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

要將其用於點擊操作,您可以將其儲存在變數中:

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

請參閱https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector以在控制台中使用選擇器。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板