Skip to content

Commit 3bf0eb5

Browse files
committed
add form submission validation
closes #5
1 parent 32b7fd2 commit 3bf0eb5

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/form_submission.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from random import SystemRandom
33

44
from patchright.async_api import Page
5+
from patchright.async_api import TimeoutError as PlaywrightTimeoutError
56

67
from src.constants import GoogleFormConstants
78

@@ -12,8 +13,17 @@
1213
async def _submit_form(page: Page, url: str, address: str, price: str, link: str) -> None:
1314
await page.goto(url)
1415
await page.wait_for_timeout(cryptogen.randint(1000, 3000))
16+
1517
await page.fill(GoogleFormConstants.ADDRESS_INPUT_XPATH, address)
1618
await page.fill(GoogleFormConstants.PRICE_INPUT_XPATH, price)
1719
await page.fill(GoogleFormConstants.LINK_INPUT_XPATH, link)
20+
1821
await page.click(GoogleFormConstants.SUBMIT_BUTTON_XPATH)
22+
23+
try:
24+
await page.wait_for_selector('div:has-text("Your response has been recorded")', timeout=5000)
25+
except PlaywrightTimeoutError as e:
26+
msg = "Form submission confirmation not received"
27+
raise PlaywrightTimeoutError(msg) from e
28+
1929
await page.wait_for_timeout(cryptogen.randint(1000, 3000))

0 commit comments

Comments
 (0)