Source code for dryscrape.driver.webkit

"""
Headless Webkit driver for dryscrape. Wraps the ``webkit_server`` module.
"""

import dryscrape.mixins
import webkit_server

[docs]class Node(webkit_server.Node, dryscrape.mixins.SelectionMixin, dryscrape.mixins.AttributeMixin): """ Node implementation wrapping a ``webkit_server`` node. """
[docs]class NodeFactory(webkit_server.NodeFactory): """ overrides the NodeFactory provided by ``webkit_server``. """ def create(self, node_id): return Node(self.client, node_id)
[docs]class Driver(webkit_server.Client, dryscrape.mixins.WaitMixin, dryscrape.mixins.HtmlParsingMixin): """ Driver implementation wrapping a ``webkit_server`` driver. Keyword arguments are passed through to the underlying ``webkit_server.Client`` constructor. By default, `node_factory_class` is set to use the dryscrape node implementation. """ def __init__(self, **kw): kw.setdefault('node_factory_class', NodeFactory) super(Driver, self).__init__(**kw)