@rich-automation/lotto 0.1.1 → 0.1.2

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.
@@ -31,9 +31,15 @@ class PuppeteerPage {
31
31
  yield this.page.type(selector, value.toString());
32
32
  });
33
33
  }
34
- click(selector) {
34
+ click(selector, useWaitForSelector = false) {
35
35
  return __awaiter(this, void 0, void 0, function* () {
36
- yield this.page.click(selector);
36
+ if (useWaitForSelector) {
37
+ const handle = yield this.page.waitForSelector(selector, { timeout: 15000 });
38
+ handle === null || handle === void 0 ? void 0 : handle.click();
39
+ }
40
+ else {
41
+ yield this.page.click(selector);
42
+ }
37
43
  });
38
44
  }
39
45
  select(selector, value) {
@@ -116,9 +116,18 @@ class LottoService {
116
116
  // click purchase button
117
117
  this.logger.debug('[purchase]', 'click purchase button');
118
118
  yield page.click(selectors_1.SELECTORS.PURCHASE_BTN);
119
- yield page.wait(500);
120
119
  this.logger.debug('[purchase]', 'click purchase confirm button');
121
- yield page.click(selectors_1.SELECTORS.PURCHASE_CONFIRM_BTN);
120
+ try {
121
+ yield page.click(selectors_1.SELECTORS.PURCHASE_CONFIRM_BTN, true);
122
+ }
123
+ catch (e) {
124
+ this.logger.debug('[purchase]', 'purchase confirm failure', e);
125
+ this.logger.debug('[purchase]', 'print node');
126
+ yield page.querySelectorAll(selectors_1.SELECTORS.PURCHASE_CONFIRM_BTN, elems => {
127
+ this.logger.debug('[purchase]', elems);
128
+ });
129
+ throw e;
130
+ }
122
131
  yield page.wait(1000);
123
132
  // game result
124
133
  this.logger.debug('[purchase]', 'print result');
@@ -29,9 +29,15 @@ export class PuppeteerPage {
29
29
  yield this.page.type(selector, value.toString());
30
30
  });
31
31
  }
32
- click(selector) {
32
+ click(selector, useWaitForSelector = false) {
33
33
  return __awaiter(this, void 0, void 0, function* () {
34
- yield this.page.click(selector);
34
+ if (useWaitForSelector) {
35
+ const handle = yield this.page.waitForSelector(selector, { timeout: 15000 });
36
+ handle === null || handle === void 0 ? void 0 : handle.click();
37
+ }
38
+ else {
39
+ yield this.page.click(selector);
40
+ }
35
41
  });
36
42
  }
37
43
  select(selector, value) {
@@ -110,9 +110,18 @@ export class LottoService {
110
110
  // click purchase button
111
111
  this.logger.debug('[purchase]', 'click purchase button');
112
112
  yield page.click(SELECTORS.PURCHASE_BTN);
113
- yield page.wait(500);
114
113
  this.logger.debug('[purchase]', 'click purchase confirm button');
115
- yield page.click(SELECTORS.PURCHASE_CONFIRM_BTN);
114
+ try {
115
+ yield page.click(SELECTORS.PURCHASE_CONFIRM_BTN, true);
116
+ }
117
+ catch (e) {
118
+ this.logger.debug('[purchase]', 'purchase confirm failure', e);
119
+ this.logger.debug('[purchase]', 'print node');
120
+ yield page.querySelectorAll(SELECTORS.PURCHASE_CONFIRM_BTN, elems => {
121
+ this.logger.debug('[purchase]', elems);
122
+ });
123
+ throw e;
124
+ }
116
125
  yield page.wait(1000);
117
126
  // game result
118
127
  this.logger.debug('[purchase]', 'print result');
@@ -6,7 +6,7 @@ export declare class PuppeteerPage implements BrowserPageInterface {
6
6
  url(): Promise<string>;
7
7
  goto(url: string): Promise<void>;
8
8
  fill(selector: string, value: string | number): Promise<void>;
9
- click(selector: string): Promise<void>;
9
+ click(selector: string, useWaitForSelector?: boolean): Promise<void>;
10
10
  select(selector: string, value: string): Promise<void>;
11
11
  querySelectorAll<T>(selector: string, callback: (elems: FakeDOMElement[]) => T): Promise<T>;
12
12
  getCookies(): Promise<string>;
@@ -30,7 +30,7 @@ export interface BrowserPageInterface {
30
30
  url(): Promise<string>;
31
31
  goto(url: string): Promise<void>;
32
32
  fill(selector: string, value: string | number): Promise<void>;
33
- click(selector: string): Promise<void>;
33
+ click(selector: string, useWaitForSelector?: boolean): Promise<void>;
34
34
  select(selector: string, value: string): Promise<void>;
35
35
  querySelectorAll<T>(selector: string, callback: (elems: FakeDOMElement[]) => T): Promise<T>;
36
36
  wait(time: number): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rich-automation/lotto",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Lotto module",
5
5
  "publishConfig": {
6
6
  "access": "public",