facebook-wda icon indicating copy to clipboard operation
facebook-wda copied to clipboard

如何使用url scheme唤醒应用

Open mndon opened this issue 2 years ago • 2 comments

我们准备通过url scheme唤醒应用至指定页面,但是不知道如何实现它

mndon avatar Nov 08 '23 06:11 mndon

import types
import enum
from typing import Optional

import wda


class AlertAction(str, enum.Enum):
    ACCEPT = "accept"
    DISMISS = "dismiss"


class MyWdaClient(wda.Client):

    def session(
        self,
        bundle_id=None,
        arguments: Optional[list] = None,
        environment: Optional[dict] = None,
        alert_action: Optional[AlertAction] = None,
    ) -> "MyWdaClient":
        client = super().session(bundle_id, arguments, environment,
                                 alert_action)
        instance = self
        client.open_url = types.MethodType(
            lambda self, url: instance.open_url(
               url
            ),
            client,
        )
        return client
    

    def open_url(self, url: str):
        return self._session_http.post("/url", data={"url": url})

Useage:

client = MyWdaClient('http://10.0.0.1:8100')
client.wait_ready()
print(client.app_current())

client.open_url('xxxxx://xxxxxx/')

exculibar avatar Jun 12 '25 16:06 exculibar

之前我是又写了一个应用来实现的

codeskyblue avatar Jun 13 '25 10:06 codeskyblue