From c09da8eec6446736bc7943716ae89a5efcf5893b Mon Sep 17 00:00:00 2001 From: Ralf Vogler Date: Thu, 19 Jan 2023 12:29:20 +0100 Subject: [PATCH] eg: simpler check if game is unavailable in region --- epic-games.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/epic-games.js b/epic-games.js index 27624af..926523e 100644 --- a/epic-games.js +++ b/epic-games.js @@ -145,13 +145,12 @@ try { // it then creates an iframe for the purchase await page.waitForSelector('#webPurchaseContainer iframe'); // TODO needed? const iframe = page.frameLocator('#webPurchaseContainer iframe'); - 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 + // skip game if unavailable in region, https://github.com/vogler/free-games-claimer/issues/46 TODO check games for account's region + if (await iframe.locator(':has-text("unavailable in your region")').count() > 0) { console.error(' This product is unavailable in your region!'); continue; - }; + } + await iframe.locator('button:has-text("Place Order")').click(); // 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")');