mirror of
https://github.com/internetarchive/brozzler.git
synced 2025-08-08 22:42:32 -04:00
handle "aw snap" or "he's dead jim" from chrome
This commit is contained in:
parent
3d70776ce3
commit
fc75e18928
1 changed files with 7 additions and 1 deletions
|
@ -81,6 +81,7 @@ class Browser:
|
||||||
self._websock = None
|
self._websock = None
|
||||||
self._abort_browse_page = False
|
self._abort_browse_page = False
|
||||||
self._chrome_instance = None
|
self._chrome_instance = None
|
||||||
|
self._aw_snap_hes_dead_jim = None
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "{}.{}:{}".format(Browser.__module__, Browser.__qualname__, self.chrome_port)
|
return "{}.{}:{}".format(Browser.__module__, Browser.__qualname__, self.chrome_port)
|
||||||
|
@ -137,6 +138,8 @@ class Browser:
|
||||||
self._waiting_on_outlinks_msg_id = None
|
self._waiting_on_outlinks_msg_id = None
|
||||||
self._outlinks = None
|
self._outlinks = None
|
||||||
self._reached_limit = None
|
self._reached_limit = None
|
||||||
|
self._aw_snap_hes_dead_jim = None
|
||||||
|
self._abort_browse_page = False
|
||||||
|
|
||||||
self._websock = websocket.WebSocketApp(self._websocket_url,
|
self._websock = websocket.WebSocketApp(self._websocket_url,
|
||||||
on_open=self._visit_page, on_message=self._wrap_handle_message)
|
on_open=self._visit_page, on_message=self._wrap_handle_message)
|
||||||
|
@ -178,6 +181,8 @@ class Browser:
|
||||||
"""Returns True when finished browsing."""
|
"""Returns True when finished browsing."""
|
||||||
if not self._websock or not self._websock.sock or not self._websock.sock.connected:
|
if not self._websock or not self._websock.sock or not self._websock.sock.connected:
|
||||||
raise BrowsingException("websocket closed, did chrome die? {}".format(self._websocket_url))
|
raise BrowsingException("websocket closed, did chrome die? {}".format(self._websocket_url))
|
||||||
|
elif self._aw_snap_hes_dead_jim:
|
||||||
|
raise BrowsingException("""chrome tab went "aw snap" or "he's dead jim"!""")
|
||||||
elif self._behavior != None and self._behavior.is_finished():
|
elif self._behavior != None and self._behavior.is_finished():
|
||||||
if self._outlinks:
|
if self._outlinks:
|
||||||
self.logger.info("got outlinks, finished url={}".format(self.url))
|
self.logger.info("got outlinks, finished url={}".format(self.url))
|
||||||
|
@ -279,7 +284,6 @@ class Browser:
|
||||||
if self.on_screenshot:
|
if self.on_screenshot:
|
||||||
self.on_screenshot(base64.b64decode(message["result"]["data"]))
|
self.on_screenshot(base64.b64decode(message["result"]["data"]))
|
||||||
self._waiting_on_screenshot_msg_id = None
|
self._waiting_on_screenshot_msg_id = None
|
||||||
|
|
||||||
self.logger.info("got screenshot, moving on to starting behaviors url={}".format(self.url))
|
self.logger.info("got screenshot, moving on to starting behaviors url={}".format(self.url))
|
||||||
self._behavior = Behavior(self.url, self)
|
self._behavior = Behavior(self.url, self)
|
||||||
self._behavior.start()
|
self._behavior.start()
|
||||||
|
@ -308,6 +312,8 @@ class Browser:
|
||||||
self._console_message_added(message)
|
self._console_message_added(message)
|
||||||
elif "method" in message and message["method"] == "Debugger.paused":
|
elif "method" in message and message["method"] == "Debugger.paused":
|
||||||
self._debugger_paused(message)
|
self._debugger_paused(message)
|
||||||
|
elif "method" in message and message["method"] == "Inspector.targetCrashed":
|
||||||
|
self._aw_snap_hes_dead_jim = message
|
||||||
elif "result" in message:
|
elif "result" in message:
|
||||||
self._handle_result_message(message)
|
self._handle_result_message(message)
|
||||||
# elif "method" in message and message["method"] in ("Network.dataReceived", "Network.responseReceived", "Network.loadingFinished"):
|
# elif "method" in message and message["method"] in ("Network.dataReceived", "Network.responseReceived", "Network.loadingFinished"):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue