我正在建造一個結帳機器人,但是在處理那些愚蠢的「輸入手機號碼以接收簡訊」的彈跳窗時遇到了麻煩,我告訴機器人要點擊的元素出現在螢幕上,但機器人卻不點擊它。這是我第一個使用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粉0526867102024-04-05 15:09:49
您的選擇器是錯誤的,請更改
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以在控制台中使用選擇器。