ios 查看元素之weditor, no session created ever

weditor:是Python版本的Android和iOS查看元素神器,安装命令:pip3 install weditor  启动命令:python3 -m weditor

今天试了一下iOS查看元素的工具weditor,一直提示"no session created ever",这是为什么呢,简直百思不得其解。

(我的解决办法就是咋weditor调用session的地方,手动传入bundle_id)

然后就看weditor的源码

第一步:判断设备

第二步:获取ios客户端信息,需要session

第三步:查看session方法              

def connect_device(platform, device_url):
    """
    Returns:
        deviceId (string)
    """
    device_id = platform + ":" + device_url
    if platform == 'android':
        d = _AndroidDevice(device_url)
    elif platform == 'ios':  # ios
        d = _AppleDevice(device_url)
    else:
        d = _GameDevice(device_url or "localhost")

    cached_devices[device_id] = d
    return device_id                                                                                                                  
# 第二步
class _AppleDevice(DeviceMeta):
def __init__(self, device_url):
     # 本质也是通过wda调用的
import wda
c = wda.Client(device_url)
self._client = c
     # 划重点,这里需要获取session的信息,然而session是接收参数的,这里没有传参
# self.__scale = c.session().scale

     self.__scale = c.session(bundle_id="com.xxx.xxxx").scale

def screenshot(self):
return self._client.screenshot(format='pillow')

def dump_hierarchy(self):
return uidumplib.get_ios_hierarchy(self._client, self.__scale)

@property
def device(self):
return self._client.session()
# 第三步
def session(self,
bundle_id=None, # 这里的bundle_id 就是要查看元素的bundle_id,至于weditor有没有传就不知道了
arguments=None,
environment=None,
alert_action=None):pass
 
   
学习最大的乐趣在于分享,我是绝世老中医,欢迎来诊 个人qq:1978529954
原文地址:https://www.cnblogs.com/jueshilaozhongyi/p/14600008.html