我正在建造一個結帳機器人,但是在處理那些愚蠢的「輸入手機號碼以接收簡訊」的彈跳窗時遇到了麻煩,我告訴機器人要點擊的元素出現在螢幕上,但機器人卻不點擊它。這是我第一個使用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);
}
}
這只是程式碼的一小部分,我在這部分上遇到了錯誤,因為我不能發布完整的程式碼,否則會被視為垃圾訊息。
您的選擇器是錯誤的,請更改
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以在控制台中使用選擇器。