fix for #46: "This product is currently unavailable in your region"

This commit is contained in:
Ralf Vogler 2023-01-19 01:26:27 +01:00
parent 351670f426
commit 4055ec44c7

View file

@ -145,7 +145,13 @@ try {
// it then creates an iframe for the purchase // it then creates an iframe for the purchase
await page.waitForSelector('#webPurchaseContainer iframe'); // TODO needed? await page.waitForSelector('#webPurchaseContainer iframe'); // TODO needed?
const iframe = page.frameLocator('#webPurchaseContainer iframe'); const iframe = page.frameLocator('#webPurchaseContainer iframe');
await iframe.locator('button:has-text("Place Order")').click(); if (await Promise.any([
iframe.locator('button:has-text("Place Order")').click(),
iframe.locator(':has-text("unavailable in your region")').waitFor().then(_ => 'unavailable'),
]) == 'unavailable') { // can't continue loop from the promise
console.error(' This product is unavailable in your region!');
continue;
};
// I Agree button is only shown for EU accounts! https://github.com/vogler/free-games-claimer/pull/7#issuecomment-1038964872 // I Agree button is only shown for EU accounts! https://github.com/vogler/free-games-claimer/pull/7#issuecomment-1038964872
const btnAgree = iframe.locator('button:has-text("I Agree")'); const btnAgree = iframe.locator('button:has-text("I Agree")');