Skip to content

Commit

Permalink
Merge pull request #93 from Xewdy444/dev
Browse files Browse the repository at this point in the history
Fix several WebKit-specific issues
  • Loading branch information
Xewdy444 committed May 16, 2024
2 parents 2ccde2d + a2c0f4b commit 8b6e160
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
11 changes: 3 additions & 8 deletions playwright_recaptcha/recaptchav2/async_solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -521,19 +521,14 @@ async def _solve_audio_challenge(self, recaptcha_box: AsyncRecaptchaBox) -> None
if text is not None:
break

self._payload_response = None

async with self._page.expect_response(
re.compile("/recaptcha/(api2|enterprise)/reload")
) as response:
await recaptcha_box.new_challenge_button.click()

await response.value

while self._payload_response is None:
if await recaptcha_box.rate_limit_is_visible():
raise RecaptchaRateLimitError

while url == await self._get_audio_url(recaptcha_box):
await self._page.wait_for_timeout(250)

await self._submit_audio_text(recaptcha_box, text)
Expand Down Expand Up @@ -625,13 +620,13 @@ async def solve_recaptcha(
raise RecaptchaRateLimitError

if image_challenge and await recaptcha_box.image_challenge_button.is_visible():
await recaptcha_box.image_challenge_button.click(force=True)
await recaptcha_box.image_challenge_button.click()

if (
not image_challenge
and await recaptcha_box.audio_challenge_button.is_visible()
):
await recaptcha_box.audio_challenge_button.click(force=True)
await recaptcha_box.audio_challenge_button.click()

if image_challenge:
image = recaptcha_box.image_challenge.locator("img").first
Expand Down
11 changes: 3 additions & 8 deletions playwright_recaptcha/recaptchav2/sync_solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -460,17 +460,12 @@ def _solve_audio_challenge(self, recaptcha_box: SyncRecaptchaBox) -> None:
if text is not None:
break

self._payload_response = None

with self._page.expect_response(
re.compile("/recaptcha/(api2|enterprise)/reload")
):
recaptcha_box.new_challenge_button.click()

while self._payload_response is None:
if recaptcha_box.rate_limit_is_visible():
raise RecaptchaRateLimitError

while url == self._get_audio_url(recaptcha_box):
self._page.wait_for_timeout(250)

self._submit_audio_text(recaptcha_box, text)
Expand Down Expand Up @@ -562,10 +557,10 @@ def solve_recaptcha(
raise RecaptchaRateLimitError

if image_challenge and recaptcha_box.image_challenge_button.is_visible():
recaptcha_box.image_challenge_button.click(force=True)
recaptcha_box.image_challenge_button.click()

if not image_challenge and recaptcha_box.audio_challenge_button.is_visible():
recaptcha_box.audio_challenge_button.click(force=True)
recaptcha_box.audio_challenge_button.click()

if image_challenge:
image = recaptcha_box.image_challenge.locator("img").first
Expand Down

0 comments on commit 8b6e160

Please sign in to comment.