|
4 | 4 | from enum import Enum
|
5 | 5 | from urllib.parse import urlencode, quote_plus
|
6 | 6 | from base64 import urlsafe_b64encode
|
7 |
| -from typing import Optional, List, Dict, Iterable, Union, Set |
| 7 | +from typing import Literal, Optional, List, Dict, Iterable, Union, Set |
8 | 8 | from requests.structures import CaseInsensitiveDict
|
9 | 9 |
|
10 | 10 | from .api_config import BaseApiConfig
|
@@ -92,6 +92,7 @@ class ScrapeConfig(BaseApiConfig):
|
92 | 92 | headers: Optional[CaseInsensitiveDict] = None
|
93 | 93 | js: str = None
|
94 | 94 | rendering_wait: int = None
|
| 95 | + rendering_stage: Literal["complete", "domcontentloaded"] = "complete" |
95 | 96 | wait_for_selector: Optional[str] = None
|
96 | 97 | session_sticky_proxy:bool = True
|
97 | 98 | screenshots:Optional[Dict]=None
|
@@ -136,6 +137,7 @@ def __init__(
|
136 | 137 | headers: Optional[Union[CaseInsensitiveDict, Dict[str, str]]] = None,
|
137 | 138 | js: str = None,
|
138 | 139 | rendering_wait: int = None,
|
| 140 | + rendering_stage: Literal["complete", "domcontentloaded"] = "complete", |
139 | 141 | wait_for_selector: Optional[str] = None,
|
140 | 142 | screenshots:Optional[Dict]=None,
|
141 | 143 | screenshot_flags: Optional[List[ScreenshotFlag]] = None,
|
@@ -186,6 +188,7 @@ def __init__(
|
186 | 188 | self.data = data
|
187 | 189 | self.js = js
|
188 | 190 | self.rendering_wait = rendering_wait
|
| 191 | + self.rendering_stage = rendering_stage |
189 | 192 | self.raise_on_upstream_error = raise_on_upstream_error
|
190 | 193 | self.screenshots = screenshots
|
191 | 194 | self.screenshot_flags = screenshot_flags
|
@@ -270,6 +273,9 @@ def to_api_params(self, key:str) -> Dict:
|
270 | 273 |
|
271 | 274 | if self.rendering_wait:
|
272 | 275 | params['rendering_wait'] = self.rendering_wait
|
| 276 | + |
| 277 | + if self.rendering_stage: |
| 278 | + params['rendering_stage'] = self.rendering_stage |
273 | 279 |
|
274 | 280 | if self.screenshots is not None:
|
275 | 281 | for name, element in self.screenshots.items():
|
|
0 commit comments