@epsilon-asi/actors 0.0.43 → 0.0.44
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.
- package/dist/sites/upwork-com/upwork-com.actor.d.ts +5 -3
- package/dist/sites/upwork-com/upwork-com.actor.d.ts.map +1 -1
- package/dist/sites/upwork-com/upwork-com.actor.js +9 -5
- package/dist/sites/upwork-com/upwork-com.actor.js.map +1 -1
- package/package.json +1 -1
- package/src/sites/upwork-com/upwork-com.actor.ts +14 -5
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { UpworkApplyToJobInput, UpworkApplyToJobResult, UpworkJobSearchFields, UpworkJobSelector } from './upwork-com.types.js';
|
|
2
|
-
import { ScrapeDashboardInput } from "../example/index.js";
|
|
3
2
|
import { UpworkJobListing } from "./util/scrapeJobListing.js";
|
|
4
3
|
import { UpworkProposalAnswers, UpworkProposalQuestions } from "./util/parseJobApplicationDetails.js";
|
|
4
|
+
import { UpworkJobDetails } from "./util/parseJobDetails.js";
|
|
5
5
|
export declare const upworkComActor: import("../../index.js").Actor<{
|
|
6
6
|
test: (context: import("../../index.js").ActorContext, input: any) => Promise<void>;
|
|
7
7
|
searchJobs: (context: import("../../index.js").ActorContext, input?: UpworkJobSearchFields) => Promise<UpworkJobListing[]>;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
getJob: (_context: import("../../index.js").ActorContext, input: UpworkJobSelector) => Promise<{
|
|
9
|
+
jobDetails: UpworkJobDetails;
|
|
10
|
+
jobQuestions: UpworkProposalQuestions;
|
|
11
|
+
}>;
|
|
10
12
|
applyToJob: (_context: import("../../index.js").ActorContext, input: UpworkApplyToJobInput & UpworkProposalAnswers) => Promise<UpworkApplyToJobResult>;
|
|
11
13
|
}>;
|
|
12
14
|
//# sourceMappingURL=upwork-com.actor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upwork-com.actor.d.ts","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"upwork-com.actor.d.ts","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAA2B,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAE2B,qBAAqB,EACnD,uBAAuB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAEtF,eAAO,MAAM,cAAc;;yEAuDgB,qBAAqB,KAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;qEAO3D,iBAAiB,KAAG,OAAO,CAAC;QACxD,UAAU,EAAE,gBAAgB,CAAC;QAC7B,YAAY,EAAE,uBAAuB,CAAA;KACxC,CAAC;yEAakC,qBAAqB,GAAG,qBAAqB,KAAG,OAAO,CAAC,sBAAsB,CAAC;EAsCzH,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { upworkComSelectors } from './upwork-com.selectors.js';
|
|
|
4
4
|
import { parseRate } from "./upwork-com.util.js";
|
|
5
5
|
import { parseUpworkSearchResults } from "./util/scrapeJobListing.js";
|
|
6
6
|
import { fillUpworkProposalQuestions, parseUpworkProposalQuestions } from "./util/parseJobApplicationDetails.js";
|
|
7
|
+
import { parseUpworkJobDetailsPage } from "./util/parseJobDetails.js";
|
|
7
8
|
export const upworkComActor = defineActor({
|
|
8
9
|
id: 'upwork-com',
|
|
9
10
|
baseUrl: 'https://upwork.com',
|
|
@@ -64,12 +65,15 @@ export const upworkComActor = defineActor({
|
|
|
64
65
|
await context.nav.goto(path, {});
|
|
65
66
|
return await parseUpworkSearchResults(context.session.page);
|
|
66
67
|
},
|
|
67
|
-
|
|
68
|
-
await
|
|
69
|
-
|
|
70
|
-
getJobQuestions: async (_context, input) => {
|
|
68
|
+
getJob: async (_context, input) => {
|
|
69
|
+
await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/`);
|
|
70
|
+
const jobDetails = parseUpworkJobDetailsPage(await _context.session.page.content());
|
|
71
71
|
await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/apply/`);
|
|
72
|
-
|
|
72
|
+
const jobQuestions = await parseUpworkProposalQuestions(_context.session.page);
|
|
73
|
+
return {
|
|
74
|
+
jobDetails,
|
|
75
|
+
jobQuestions
|
|
76
|
+
};
|
|
73
77
|
},
|
|
74
78
|
applyToJob: async (_context, input) => {
|
|
75
79
|
await _context.cursor.scrollIntoView(`[data-ev-job-uid="${input.jobId}"]`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAO7D,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,wBAAwB,EAAmB,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAE/B,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
parseUpworkProposalQuestions, UpworkProposalAnswers, UpworkProposalQuestionKind,
|
|
17
17
|
UpworkProposalQuestions
|
|
18
18
|
} from "./util/parseJobApplicationDetails.js";
|
|
19
|
+
import {parseUpworkJobDetailsPage, UpworkJobDetails} from "./util/parseJobDetails.js";
|
|
19
20
|
|
|
20
21
|
export const upworkComActor = defineActor({
|
|
21
22
|
id: 'upwork-com',
|
|
@@ -79,13 +80,21 @@ export const upworkComActor = defineActor({
|
|
|
79
80
|
|
|
80
81
|
return await parseUpworkSearchResults(context.session.page as Page);
|
|
81
82
|
},
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
getJob: async (_context, input: UpworkJobSelector): Promise<{
|
|
84
|
+
jobDetails: UpworkJobDetails,
|
|
85
|
+
jobQuestions: UpworkProposalQuestions
|
|
86
|
+
}> => {
|
|
87
|
+
await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/`);
|
|
88
|
+
|
|
89
|
+
const jobDetails = parseUpworkJobDetailsPage(await _context.session.page.content());
|
|
90
|
+
|
|
86
91
|
await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/apply/`);
|
|
87
92
|
|
|
88
|
-
|
|
93
|
+
const jobQuestions = await parseUpworkProposalQuestions(_context.session.page as Page);
|
|
94
|
+
return {
|
|
95
|
+
jobDetails,
|
|
96
|
+
jobQuestions
|
|
97
|
+
}
|
|
89
98
|
},
|
|
90
99
|
applyToJob: async (_context, input: UpworkApplyToJobInput & UpworkProposalAnswers): Promise<UpworkApplyToJobResult> => {
|
|
91
100
|
await _context.cursor.scrollIntoView(`[data-ev-job-uid="${input.jobId}"]`);
|