wait_for_page navigates to the url in webdriver wait until the renderer is loaded in browser. use the `server_url` if url is not provided.
(self, url=None, timeout=10)
| 397 | ) |
| 398 | |
| 399 | def wait_for_page(self, url=None, timeout=10): |
| 400 | """wait_for_page navigates to the url in webdriver wait until the |
| 401 | renderer is loaded in browser. |
| 402 | |
| 403 | use the `server_url` if url is not provided. |
| 404 | """ |
| 405 | self.driver.get(self.server_url if url is None else url) |
| 406 | try: |
| 407 | self.wait_for_element_by_css_selector( |
| 408 | self.dash_entry_locator, timeout=timeout |
| 409 | ) |
| 410 | except TimeoutException as exc: |
| 411 | logger.exception("dash server is not loaded within %s seconds", timeout) |
| 412 | logs = "\n".join((str(log) for log in self.get_logs())) # type: ignore[reportOptionalIterable] |
| 413 | logger.debug(logs) |
| 414 | html = self.find_element("body").get_property("innerHTML") |
| 415 | raise DashAppLoadingError( |
| 416 | "the expected Dash react entry point cannot be loaded" |
| 417 | f" in browser\n HTML => {html}\n Console Logs => {logs}\n" |
| 418 | ) from exc |
| 419 | |
| 420 | if self._pause: |
| 421 | import pdb # pylint: disable=import-outside-toplevel |
| 422 | |
| 423 | pdb.set_trace() # pylint: disable=forgotten-debug-statement |
| 424 | |
| 425 | def select_dcc_dropdown(self, elem_or_selector, value=None, index=None): |
| 426 | dropdown = self._get_element(elem_or_selector) |