MCPcopy
hub / github.com/plotly/dash / wait_for_page

Method wait_for_page

dash/testing/browser.py:399–423  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

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)

Calls 5

get_logsMethod · 0.95
find_elementMethod · 0.95
DashAppLoadingErrorClass · 0.90
getMethod · 0.45