# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from Browser.generated import playwright_pb2 as playwright__pb2


class PlaywrightStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.AddCookie = channel.unary_unary(
                '/Playwright/AddCookie',
                request_serializer=playwright__pb2.Request.Json.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetCookies = channel.unary_unary(
                '/Playwright/GetCookies',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.DeleteAllCookies = channel.unary_unary(
                '/Playwright/DeleteAllCookies',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.TakeScreenshot = channel.unary_unary(
                '/Playwright/TakeScreenshot',
                request_serializer=playwright__pb2.Request.ScreenshotOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GoTo = channel.unary_unary(
                '/Playwright/GoTo',
                request_serializer=playwright__pb2.Request.Url.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GoBack = channel.unary_unary(
                '/Playwright/GoBack',
                request_serializer=playwright__pb2.Request.Url.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GoForward = channel.unary_unary(
                '/Playwright/GoForward',
                request_serializer=playwright__pb2.Request.Url.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetTitle = channel.unary_unary(
                '/Playwright/GetTitle',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetElementCount = channel.unary_unary(
                '/Playwright/GetElementCount',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Int.FromString,
                )
        self.InputText = channel.unary_unary(
                '/Playwright/InputText',
                request_serializer=playwright__pb2.Request.TextInput.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.TypeText = channel.unary_unary(
                '/Playwright/TypeText',
                request_serializer=playwright__pb2.Request.TypeText.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.FillText = channel.unary_unary(
                '/Playwright/FillText',
                request_serializer=playwright__pb2.Request.FillText.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.ClearText = channel.unary_unary(
                '/Playwright/ClearText',
                request_serializer=playwright__pb2.Request.ClearText.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetDomProperty = channel.unary_unary(
                '/Playwright/GetDomProperty',
                request_serializer=playwright__pb2.Request.ElementProperty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetElementAttribute = channel.unary_unary(
                '/Playwright/GetElementAttribute',
                request_serializer=playwright__pb2.Request.ElementProperty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetBoolProperty = channel.unary_unary(
                '/Playwright/GetBoolProperty',
                request_serializer=playwright__pb2.Request.ElementProperty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Bool.FromString,
                )
        self.GetViewportSize = channel.unary_unary(
                '/Playwright/GetViewportSize',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.GetUrl = channel.unary_unary(
                '/Playwright/GetUrl',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetPageSource = channel.unary_unary(
                '/Playwright/GetPageSource',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.Press = channel.unary_unary(
                '/Playwright/Press',
                request_serializer=playwright__pb2.Request.PressKeys.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetSelectContent = channel.unary_unary(
                '/Playwright/GetSelectContent',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Select.FromString,
                )
        self.SelectOption = channel.unary_unary(
                '/Playwright/SelectOption',
                request_serializer=playwright__pb2.Request.SelectElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.DeselectOption = channel.unary_unary(
                '/Playwright/DeselectOption',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.CheckCheckbox = channel.unary_unary(
                '/Playwright/CheckCheckbox',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.UncheckCheckbox = channel.unary_unary(
                '/Playwright/UncheckCheckbox',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.Health = channel.unary_unary(
                '/Playwright/Health',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetElement = channel.unary_unary(
                '/Playwright/GetElement',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.GetElements = channel.unary_unary(
                '/Playwright/GetElements',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.SetTimeout = channel.unary_unary(
                '/Playwright/SetTimeout',
                request_serializer=playwright__pb2.Request.Timeout.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.AddStyleTag = channel.unary_unary(
                '/Playwright/AddStyleTag',
                request_serializer=playwright__pb2.Request.StyleTag.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.HighlightElements = channel.unary_unary(
                '/Playwright/HighlightElements',
                request_serializer=playwright__pb2.Request.ElementSelectorWithDuration.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.Download = channel.unary_unary(
                '/Playwright/Download',
                request_serializer=playwright__pb2.Request.Url.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.Click = channel.unary_unary(
                '/Playwright/Click',
                request_serializer=playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.Hover = channel.unary_unary(
                '/Playwright/Hover',
                request_serializer=playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.Focus = channel.unary_unary(
                '/Playwright/Focus',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.WaitForElementsState = channel.unary_unary(
                '/Playwright/WaitForElementsState',
                request_serializer=playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.WaitForFunction = channel.unary_unary(
                '/Playwright/WaitForFunction',
                request_serializer=playwright__pb2.Request.WaitForFunctionOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.ExecuteJavascript = channel.unary_unary(
                '/Playwright/ExecuteJavascript',
                request_serializer=playwright__pb2.Request.JavascriptCode.SerializeToString,
                response_deserializer=playwright__pb2.Response.JavascriptExecutionResult.FromString,
                )
        self.GetPageState = channel.unary_unary(
                '/Playwright/GetPageState',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.JavascriptExecutionResult.FromString,
                )
        self.SetViewportSize = channel.unary_unary(
                '/Playwright/SetViewportSize',
                request_serializer=playwright__pb2.Request.Viewport.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetStyle = channel.unary_unary(
                '/Playwright/GetStyle',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.GetBoundingBox = channel.unary_unary(
                '/Playwright/GetBoundingBox',
                request_serializer=playwright__pb2.Request.ElementSelector.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.HttpRequest = channel.unary_unary(
                '/Playwright/HttpRequest',
                request_serializer=playwright__pb2.Request.HttpRequest.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.WaitForRequest = channel.unary_unary(
                '/Playwright/WaitForRequest',
                request_serializer=playwright__pb2.Request.HttpCapture.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.WaitForResponse = channel.unary_unary(
                '/Playwright/WaitForResponse',
                request_serializer=playwright__pb2.Request.HttpCapture.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.WaitForDownload = channel.unary_unary(
                '/Playwright/WaitForDownload',
                request_serializer=playwright__pb2.Request.FilePath.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.WaitUntilNetworkIsIdle = channel.unary_unary(
                '/Playwright/WaitUntilNetworkIsIdle',
                request_serializer=playwright__pb2.Request.Timeout.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.SetGeolocation = channel.unary_unary(
                '/Playwright/SetGeolocation',
                request_serializer=playwright__pb2.Request.Json.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetDevice = channel.unary_unary(
                '/Playwright/GetDevice',
                request_serializer=playwright__pb2.Request.Device.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.GetDevices = channel.unary_unary(
                '/Playwright/GetDevices',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )
        self.HandleAlert = channel.unary_unary(
                '/Playwright/HandleAlert',
                request_serializer=playwright__pb2.Request.AlertAction.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.MouseButton = channel.unary_unary(
                '/Playwright/MouseButton',
                request_serializer=playwright__pb2.Request.MouseButtonOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.MouseMove = channel.unary_unary(
                '/Playwright/MouseMove',
                request_serializer=playwright__pb2.Request.Json.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.KeyboardKey = channel.unary_unary(
                '/Playwright/KeyboardKey',
                request_serializer=playwright__pb2.Request.KeyboardKeypress.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.KeyboardInput = channel.unary_unary(
                '/Playwright/KeyboardInput',
                request_serializer=playwright__pb2.Request.KeyboardInputOptions.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.UploadFile = channel.unary_unary(
                '/Playwright/UploadFile',
                request_serializer=playwright__pb2.Request.FilePath.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.SetOffline = channel.unary_unary(
                '/Playwright/SetOffline',
                request_serializer=playwright__pb2.Request.Bool.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.Reload = channel.unary_unary(
                '/Playwright/Reload',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.SwitchPage = channel.unary_unary(
                '/Playwright/SwitchPage',
                request_serializer=playwright__pb2.Request.IdWithTimeout.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.SwitchContext = channel.unary_unary(
                '/Playwright/SwitchContext',
                request_serializer=playwright__pb2.Request.Index.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.SwitchBrowser = channel.unary_unary(
                '/Playwright/SwitchBrowser',
                request_serializer=playwright__pb2.Request.Index.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.NewPage = channel.unary_unary(
                '/Playwright/NewPage',
                request_serializer=playwright__pb2.Request.Url.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.NewContext = channel.unary_unary(
                '/Playwright/NewContext',
                request_serializer=playwright__pb2.Request.Context.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.NewBrowser = channel.unary_unary(
                '/Playwright/NewBrowser',
                request_serializer=playwright__pb2.Request.Browser.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.CloseBrowser = channel.unary_unary(
                '/Playwright/CloseBrowser',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.String.FromString,
                )
        self.CloseAllBrowsers = channel.unary_unary(
                '/Playwright/CloseAllBrowsers',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.CloseContext = channel.unary_unary(
                '/Playwright/CloseContext',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.ClosePage = channel.unary_unary(
                '/Playwright/ClosePage',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Empty.FromString,
                )
        self.GetBrowserCatalog = channel.unary_unary(
                '/Playwright/GetBrowserCatalog',
                request_serializer=playwright__pb2.Request.Empty.SerializeToString,
                response_deserializer=playwright__pb2.Response.Json.FromString,
                )


class PlaywrightServicer(object):
    """Missing associated documentation comment in .proto file."""

    def AddCookie(self, request, context):
        """Cookie messages 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCookies(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteAllCookies(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TakeScreenshot(self, request, context):
        """Screen shot method 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GoTo(self, request, context):
        """Opens the url in currently open Playwright page 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GoBack(self, request, context):
        """Navigate to the next page in history 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GoForward(self, request, context):
        """Navigate to the previous page in history. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTitle(self, request, context):
        """Gets title of currently open Playwright page 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetElementCount(self, request, context):
        """Returns the count of elements found with selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InputText(self, request, context):
        """Wraps playwrights page.fill to input text into input specified with selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TypeText(self, request, context):
        """Wraps playwrights page.type to type text into input specified with selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FillText(self, request, context):
        """Wraps playwrights page.fill to fill text of input specified with selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ClearText(self, request, context):
        """Wraps playwrights page.fill with empty text to clear input specified with selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDomProperty(self, request, context):
        """Gets the DOM property 'property' of selector specified element 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetElementAttribute(self, request, context):
        """Gets the XML attribute 'attribute' of selector specified element 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBoolProperty(self, request, context):
        """Gets the boolean DOM property 'property' of selector specified element 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetViewportSize(self, request, context):
        """Wraps playwrights page.textContent, returns textcontent of element by selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUrl(self, request, context):
        """Returns current playwright page url
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPageSource(self, request, context):
        """Gets pages HTML code 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Press(self, request, context):
        """Inputs a list of keypresses to element specified by selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSelectContent(self, request, context):
        """Gets the Select element specified by selector and returns the contents 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SelectOption(self, request, context):
        """Selects option matching matcher in Select element matching selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeselectOption(self, request, context):
        """Deselects options in Select element matching selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckCheckbox(self, request, context):
        """Checks checkbox specified by selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UncheckCheckbox(self, request, context):
        """Unchecks checkbox specified by selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Health(self, request, context):
        """Health check endpoint for the service 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetElement(self, request, context):
        """Returns a reference to a Playwirght element handle.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetElements(self, request, context):
        """Returns references to multiple Playwirght element handles.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetTimeout(self, request, context):
        """Set's  playwright timeout 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddStyleTag(self, request, context):
        """Adds a <style> to head of site. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HighlightElements(self, request, context):
        """Highlights elements matching selector for duration 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Download(self, request, context):
        """Download url content 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Click(self, request, context):
        """Clicks element specified by selector and options 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Hover(self, request, context):
        """Hovers an element specified by selector and options 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Focus(self, request, context):
        """Focuses element specified by selector 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitForElementsState(self, request, context):
        """Waits for element be in a specific state
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitForFunction(self, request, context):
        """Executes javascript on the active page and retries until the expression is true 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteJavascript(self, request, context):
        """Executes javascript on the active page 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPageState(self, request, context):
        """Get Page State JSON 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetViewportSize(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetStyle(self, request, context):
        """Gets an elements computed style 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBoundingBox(self, request, context):
        """Gets elements x, y coordinates and width, height as json object 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HttpRequest(self, request, context):
        """Makes a `fetch` request in the browser 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitForRequest(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitForResponse(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitForDownload(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitUntilNetworkIsIdle(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetGeolocation(self, request, context):
        """Geolocation 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDevice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDevices(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HandleAlert(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MouseButton(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MouseMove(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeyboardKey(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeyboardInput(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UploadFile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetOffline(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Reload(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SwitchPage(self, request, context):
        """Playwright State handling keywords 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SwitchContext(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SwitchBrowser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NewPage(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NewContext(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NewBrowser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CloseBrowser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CloseAllBrowsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CloseContext(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ClosePage(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBrowserCatalog(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_PlaywrightServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AddCookie': grpc.unary_unary_rpc_method_handler(
                    servicer.AddCookie,
                    request_deserializer=playwright__pb2.Request.Json.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetCookies': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCookies,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'DeleteAllCookies': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteAllCookies,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'TakeScreenshot': grpc.unary_unary_rpc_method_handler(
                    servicer.TakeScreenshot,
                    request_deserializer=playwright__pb2.Request.ScreenshotOptions.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GoTo': grpc.unary_unary_rpc_method_handler(
                    servicer.GoTo,
                    request_deserializer=playwright__pb2.Request.Url.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GoBack': grpc.unary_unary_rpc_method_handler(
                    servicer.GoBack,
                    request_deserializer=playwright__pb2.Request.Url.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GoForward': grpc.unary_unary_rpc_method_handler(
                    servicer.GoForward,
                    request_deserializer=playwright__pb2.Request.Url.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetTitle': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTitle,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetElementCount': grpc.unary_unary_rpc_method_handler(
                    servicer.GetElementCount,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Int.SerializeToString,
            ),
            'InputText': grpc.unary_unary_rpc_method_handler(
                    servicer.InputText,
                    request_deserializer=playwright__pb2.Request.TextInput.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'TypeText': grpc.unary_unary_rpc_method_handler(
                    servicer.TypeText,
                    request_deserializer=playwright__pb2.Request.TypeText.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'FillText': grpc.unary_unary_rpc_method_handler(
                    servicer.FillText,
                    request_deserializer=playwright__pb2.Request.FillText.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'ClearText': grpc.unary_unary_rpc_method_handler(
                    servicer.ClearText,
                    request_deserializer=playwright__pb2.Request.ClearText.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetDomProperty': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDomProperty,
                    request_deserializer=playwright__pb2.Request.ElementProperty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetElementAttribute': grpc.unary_unary_rpc_method_handler(
                    servicer.GetElementAttribute,
                    request_deserializer=playwright__pb2.Request.ElementProperty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetBoolProperty': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBoolProperty,
                    request_deserializer=playwright__pb2.Request.ElementProperty.FromString,
                    response_serializer=playwright__pb2.Response.Bool.SerializeToString,
            ),
            'GetViewportSize': grpc.unary_unary_rpc_method_handler(
                    servicer.GetViewportSize,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'GetUrl': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUrl,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetPageSource': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPageSource,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'Press': grpc.unary_unary_rpc_method_handler(
                    servicer.Press,
                    request_deserializer=playwright__pb2.Request.PressKeys.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetSelectContent': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSelectContent,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Select.SerializeToString,
            ),
            'SelectOption': grpc.unary_unary_rpc_method_handler(
                    servicer.SelectOption,
                    request_deserializer=playwright__pb2.Request.SelectElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'DeselectOption': grpc.unary_unary_rpc_method_handler(
                    servicer.DeselectOption,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'CheckCheckbox': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckCheckbox,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'UncheckCheckbox': grpc.unary_unary_rpc_method_handler(
                    servicer.UncheckCheckbox,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'Health': grpc.unary_unary_rpc_method_handler(
                    servicer.Health,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetElement': grpc.unary_unary_rpc_method_handler(
                    servicer.GetElement,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'GetElements': grpc.unary_unary_rpc_method_handler(
                    servicer.GetElements,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'SetTimeout': grpc.unary_unary_rpc_method_handler(
                    servicer.SetTimeout,
                    request_deserializer=playwright__pb2.Request.Timeout.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'AddStyleTag': grpc.unary_unary_rpc_method_handler(
                    servicer.AddStyleTag,
                    request_deserializer=playwright__pb2.Request.StyleTag.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'HighlightElements': grpc.unary_unary_rpc_method_handler(
                    servicer.HighlightElements,
                    request_deserializer=playwright__pb2.Request.ElementSelectorWithDuration.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'Download': grpc.unary_unary_rpc_method_handler(
                    servicer.Download,
                    request_deserializer=playwright__pb2.Request.Url.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'Click': grpc.unary_unary_rpc_method_handler(
                    servicer.Click,
                    request_deserializer=playwright__pb2.Request.ElementSelectorWithOptions.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'Hover': grpc.unary_unary_rpc_method_handler(
                    servicer.Hover,
                    request_deserializer=playwright__pb2.Request.ElementSelectorWithOptions.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'Focus': grpc.unary_unary_rpc_method_handler(
                    servicer.Focus,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'WaitForElementsState': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitForElementsState,
                    request_deserializer=playwright__pb2.Request.ElementSelectorWithOptions.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'WaitForFunction': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitForFunction,
                    request_deserializer=playwright__pb2.Request.WaitForFunctionOptions.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'ExecuteJavascript': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteJavascript,
                    request_deserializer=playwright__pb2.Request.JavascriptCode.FromString,
                    response_serializer=playwright__pb2.Response.JavascriptExecutionResult.SerializeToString,
            ),
            'GetPageState': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPageState,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.JavascriptExecutionResult.SerializeToString,
            ),
            'SetViewportSize': grpc.unary_unary_rpc_method_handler(
                    servicer.SetViewportSize,
                    request_deserializer=playwright__pb2.Request.Viewport.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetStyle': grpc.unary_unary_rpc_method_handler(
                    servicer.GetStyle,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'GetBoundingBox': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBoundingBox,
                    request_deserializer=playwright__pb2.Request.ElementSelector.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'HttpRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.HttpRequest,
                    request_deserializer=playwright__pb2.Request.HttpRequest.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'WaitForRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitForRequest,
                    request_deserializer=playwright__pb2.Request.HttpCapture.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'WaitForResponse': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitForResponse,
                    request_deserializer=playwright__pb2.Request.HttpCapture.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'WaitForDownload': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitForDownload,
                    request_deserializer=playwright__pb2.Request.FilePath.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'WaitUntilNetworkIsIdle': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitUntilNetworkIsIdle,
                    request_deserializer=playwright__pb2.Request.Timeout.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'SetGeolocation': grpc.unary_unary_rpc_method_handler(
                    servicer.SetGeolocation,
                    request_deserializer=playwright__pb2.Request.Json.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDevice,
                    request_deserializer=playwright__pb2.Request.Device.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'GetDevices': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDevices,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
            'HandleAlert': grpc.unary_unary_rpc_method_handler(
                    servicer.HandleAlert,
                    request_deserializer=playwright__pb2.Request.AlertAction.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'MouseButton': grpc.unary_unary_rpc_method_handler(
                    servicer.MouseButton,
                    request_deserializer=playwright__pb2.Request.MouseButtonOptions.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'MouseMove': grpc.unary_unary_rpc_method_handler(
                    servicer.MouseMove,
                    request_deserializer=playwright__pb2.Request.Json.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'KeyboardKey': grpc.unary_unary_rpc_method_handler(
                    servicer.KeyboardKey,
                    request_deserializer=playwright__pb2.Request.KeyboardKeypress.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'KeyboardInput': grpc.unary_unary_rpc_method_handler(
                    servicer.KeyboardInput,
                    request_deserializer=playwright__pb2.Request.KeyboardInputOptions.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'UploadFile': grpc.unary_unary_rpc_method_handler(
                    servicer.UploadFile,
                    request_deserializer=playwright__pb2.Request.FilePath.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'SetOffline': grpc.unary_unary_rpc_method_handler(
                    servicer.SetOffline,
                    request_deserializer=playwright__pb2.Request.Bool.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'Reload': grpc.unary_unary_rpc_method_handler(
                    servicer.Reload,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'SwitchPage': grpc.unary_unary_rpc_method_handler(
                    servicer.SwitchPage,
                    request_deserializer=playwright__pb2.Request.IdWithTimeout.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'SwitchContext': grpc.unary_unary_rpc_method_handler(
                    servicer.SwitchContext,
                    request_deserializer=playwright__pb2.Request.Index.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'SwitchBrowser': grpc.unary_unary_rpc_method_handler(
                    servicer.SwitchBrowser,
                    request_deserializer=playwright__pb2.Request.Index.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'NewPage': grpc.unary_unary_rpc_method_handler(
                    servicer.NewPage,
                    request_deserializer=playwright__pb2.Request.Url.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'NewContext': grpc.unary_unary_rpc_method_handler(
                    servicer.NewContext,
                    request_deserializer=playwright__pb2.Request.Context.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'NewBrowser': grpc.unary_unary_rpc_method_handler(
                    servicer.NewBrowser,
                    request_deserializer=playwright__pb2.Request.Browser.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'CloseBrowser': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseBrowser,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.String.SerializeToString,
            ),
            'CloseAllBrowsers': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseAllBrowsers,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'CloseContext': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseContext,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'ClosePage': grpc.unary_unary_rpc_method_handler(
                    servicer.ClosePage,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Empty.SerializeToString,
            ),
            'GetBrowserCatalog': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBrowserCatalog,
                    request_deserializer=playwright__pb2.Request.Empty.FromString,
                    response_serializer=playwright__pb2.Response.Json.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'Playwright', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Playwright(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def AddCookie(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/AddCookie',
            playwright__pb2.Request.Json.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetCookies(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetCookies',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteAllCookies(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/DeleteAllCookies',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TakeScreenshot(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/TakeScreenshot',
            playwright__pb2.Request.ScreenshotOptions.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GoTo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GoTo',
            playwright__pb2.Request.Url.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GoBack(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GoBack',
            playwright__pb2.Request.Url.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GoForward(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GoForward',
            playwright__pb2.Request.Url.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTitle(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetTitle',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetElementCount(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetElementCount',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Int.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InputText(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/InputText',
            playwright__pb2.Request.TextInput.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TypeText(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/TypeText',
            playwright__pb2.Request.TypeText.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FillText(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/FillText',
            playwright__pb2.Request.FillText.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ClearText(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/ClearText',
            playwright__pb2.Request.ClearText.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDomProperty(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetDomProperty',
            playwright__pb2.Request.ElementProperty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetElementAttribute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetElementAttribute',
            playwright__pb2.Request.ElementProperty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBoolProperty(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetBoolProperty',
            playwright__pb2.Request.ElementProperty.SerializeToString,
            playwright__pb2.Response.Bool.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetViewportSize(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetViewportSize',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUrl(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetUrl',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPageSource(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetPageSource',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Press(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Press',
            playwright__pb2.Request.PressKeys.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSelectContent(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetSelectContent',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Select.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SelectOption(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SelectOption',
            playwright__pb2.Request.SelectElementSelector.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeselectOption(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/DeselectOption',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckCheckbox(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/CheckCheckbox',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UncheckCheckbox(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/UncheckCheckbox',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Health(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Health',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetElement(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetElement',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetElements(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetElements',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetTimeout(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SetTimeout',
            playwright__pb2.Request.Timeout.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddStyleTag(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/AddStyleTag',
            playwright__pb2.Request.StyleTag.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HighlightElements(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/HighlightElements',
            playwright__pb2.Request.ElementSelectorWithDuration.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Download(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Download',
            playwright__pb2.Request.Url.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Click(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Click',
            playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Hover(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Hover',
            playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Focus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Focus',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitForElementsState(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitForElementsState',
            playwright__pb2.Request.ElementSelectorWithOptions.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitForFunction(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitForFunction',
            playwright__pb2.Request.WaitForFunctionOptions.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteJavascript(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/ExecuteJavascript',
            playwright__pb2.Request.JavascriptCode.SerializeToString,
            playwright__pb2.Response.JavascriptExecutionResult.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPageState(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetPageState',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.JavascriptExecutionResult.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetViewportSize(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SetViewportSize',
            playwright__pb2.Request.Viewport.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetStyle(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetStyle',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBoundingBox(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetBoundingBox',
            playwright__pb2.Request.ElementSelector.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HttpRequest(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/HttpRequest',
            playwright__pb2.Request.HttpRequest.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitForRequest(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitForRequest',
            playwright__pb2.Request.HttpCapture.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitForResponse(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitForResponse',
            playwright__pb2.Request.HttpCapture.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitForDownload(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitForDownload',
            playwright__pb2.Request.FilePath.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitUntilNetworkIsIdle(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/WaitUntilNetworkIsIdle',
            playwright__pb2.Request.Timeout.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetGeolocation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SetGeolocation',
            playwright__pb2.Request.Json.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetDevice',
            playwright__pb2.Request.Device.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDevices(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetDevices',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HandleAlert(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/HandleAlert',
            playwright__pb2.Request.AlertAction.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MouseButton(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/MouseButton',
            playwright__pb2.Request.MouseButtonOptions.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MouseMove(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/MouseMove',
            playwright__pb2.Request.Json.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeyboardKey(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/KeyboardKey',
            playwright__pb2.Request.KeyboardKeypress.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeyboardInput(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/KeyboardInput',
            playwright__pb2.Request.KeyboardInputOptions.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UploadFile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/UploadFile',
            playwright__pb2.Request.FilePath.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetOffline(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SetOffline',
            playwright__pb2.Request.Bool.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Reload(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/Reload',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SwitchPage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SwitchPage',
            playwright__pb2.Request.IdWithTimeout.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SwitchContext(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SwitchContext',
            playwright__pb2.Request.Index.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SwitchBrowser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/SwitchBrowser',
            playwright__pb2.Request.Index.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NewPage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/NewPage',
            playwright__pb2.Request.Url.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NewContext(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/NewContext',
            playwright__pb2.Request.Context.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NewBrowser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/NewBrowser',
            playwright__pb2.Request.Browser.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseBrowser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/CloseBrowser',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.String.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseAllBrowsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/CloseAllBrowsers',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseContext(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/CloseContext',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ClosePage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/ClosePage',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBrowserCatalog(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/Playwright/GetBrowserCatalog',
            playwright__pb2.Request.Empty.SerializeToString,
            playwright__pb2.Response.Json.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
