atsfill 0.0.4.dev53__tar.gz → 0.0.4.dev54__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/PKG-INFO +1 -1
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/pyproject.toml +1 -1
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/pyproject.toml.orig +1 -1
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/smartrecruiters.py +5 -2
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/LICENSE +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/README.md +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/__init__.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/bamboohr.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/breezy.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/dayforce.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/hireology.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/jazzhr.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/lever.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/manatal.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/oracle.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/paycor.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/paylocity.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/phenom.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/recruitee.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/workable.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/cli.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/__init__.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/adapter.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/browser.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/commands.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/matching.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/registry.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/core/results.py +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/py.typed +0 -0
- {atsfill-0.0.4.dev53 → atsfill-0.0.4.dev54}/src/atsfill/registry.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atsfill
|
|
3
|
-
Version: 0.0.4.
|
|
3
|
+
Version: 0.0.4.dev54
|
|
4
4
|
Summary: Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle.
|
|
5
5
|
Keywords: job-applications,ats,ashby,greenhouse,teamtailor,ai-agents,cli
|
|
6
6
|
Author: shbernal
|
|
@@ -23,6 +23,9 @@ ONECLICK = re.compile(r"^/oneclick-ui/company/([^/]+)/publication/([^/]+)")
|
|
|
23
23
|
APPLY_LINK = "a[href*='/oneclick-ui/company/']"
|
|
24
24
|
QUESTIONS = "sr-screening-questions-form"
|
|
25
25
|
CONTAINER = f"{QUESTIONS} [data-test=question-container]"
|
|
26
|
+
# The footer's buttons, named in the posting's language.
|
|
27
|
+
NEXT = "[data-test=footer-next] button"
|
|
28
|
+
SUBMIT = "[data-test=footer-submit] button"
|
|
26
29
|
FORM_TIMEOUT_MS = 30_000
|
|
27
30
|
COOKIE_TIMEOUT_MS = 5_000
|
|
28
31
|
OPTION_TIMEOUT_MS = 10_000
|
|
@@ -194,7 +197,7 @@ class SmartRecruiters:
|
|
|
194
197
|
|
|
195
198
|
def submit(self, page: Page) -> str | None:
|
|
196
199
|
before = page.url
|
|
197
|
-
page.
|
|
200
|
+
page.locator(SUBMIT).first.click()
|
|
198
201
|
page.wait_for_url(lambda url: url != before, timeout=SUBMIT_TIMEOUT_MS)
|
|
199
202
|
return page.url
|
|
200
203
|
|
|
@@ -351,7 +354,7 @@ def _fill_profile(page: Page, field_id: str, selector: str, answer: Answer) -> N
|
|
|
351
354
|
def _next(page: Page) -> None:
|
|
352
355
|
"""Goes on to the questions page. Never Submit: a posting with no questions submits from
|
|
353
356
|
the profile page. A click right after the last answer can go unheeded, so it is repeated."""
|
|
354
|
-
button = page.
|
|
357
|
+
button = page.locator(NEXT)
|
|
355
358
|
for _ in range(NEXT_TRIES):
|
|
356
359
|
if not button.count():
|
|
357
360
|
return
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|