精华内容
下载资源
问答
  • iOS控制屏幕旋转

    2014-04-23 17:33:00
    2019独角兽企业重金招聘Python工程师标准>>> ...

    view controller内部全部视图旋转

    iOS屏幕旋转控制在View Controller里面,包含三种controller。

       其一:UIViewController及其子类。

       其二:UINavigationController及其子类。

       其三:UITabBarController及其子类。

       每一种controller及其子类都可以写屏幕旋转控制代码。但是记住一个原则,谁加载谁获得屏幕控制的权限,被加载的controller如果要添加自适应代码,可以在- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration函数中实现。


    view controller部分视图旋转

         部分旋转同样需要实现controller中的旋转函数,只是返回值为NO。但在返回之前需要给消息中心发送一个消息,如:[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationOrientationChange object:nil]

        当然,在这之前应该在viewDidLoad函数中加入通知消息中心监听kNotificationOrientationDidChange,[[NSNotificationCenter defaultCenter] addObserver:self selector:@Selector(orientationDidChange:) name:kNotificationOrientationChange object:nil]

         之后就需要- (void)orientationDidChange:(NSNotification *)notification函数中实现部分视图旋转的控制代码。

         不过,最后别忘了在dealloc函数中取消监听,否则会造成内存泄露的:[[NSNotificationCenter defaultCenter] removeObserver:self name:kNotificationOrientationChange object:nil]。


    转载于:https://my.oschina.net/majiage/blog/225592

    展开全文
  • ios屏幕旋转的控制

    2016-08-30 14:45:00
    2019独角兽企业重金招聘Python工程师标准>>> ...

    项目需求,app中大部分页面不支持旋转,仅指定的几个页面提供旋转支持:

    通过查询相关资料,可通过以下方法实现

    - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 这个方法是全局控制,页面旋转的。

    如需要所有页面支持旋转则,直接返回UIInterfaceOrientationMaskAll;

    - (BOOL)shouldAutorotate 控制视图控制器是否支持旋转

    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation  页面加载时优先显示的方向

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations  该视图控制器支持所有旋转的方向

    这三个方法组合,可以防止“从指定的视图控制器(可以旋转的视图控制器)返回时,导致返回的上一个页面会存在旋转的bug”

    以上功能的实现依赖于,在target中general栏目下已解锁多个方向(需要支持的方向)

    转载于:https://my.oschina.net/u/1432769/blog/739824

    展开全文
  • Python 3.8 + Flask + PyAutoGUI + PIL(Python影像库) Flask Web服务器具有非常简单的登录系统,适用于一个管理员,该管理员可以通过浏览器控制服务器上的鼠标。 应用程序允许对已登录的观众进行屏幕投射,不进行...
  • Python 资源大全中文版 awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、...
  • 这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。 玩法类似于《flappy ...
  • Appium 封装了 Selenium,能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令,比如:多点触控手势、屏幕朝向等。 环境 本文主要环境如下: Win7 JDK1.8 Appium ...
    
     

    ne old watch, like brief python

    简介

    Appium 是一个开源的自动化测试工具,支持 Android、iOS 平台上的原生应用,支持 Java、Python、PHP 等多种语言。

    Appium 封装了 Selenium,能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令,比如:多点触控手势、屏幕朝向等。

    环境

    本文主要环境如下:

    • Win7

    • JDK1.8

    • Appium

    • Python3.7

    • android-sdk

    • mumu 模拟器

    JDK

    下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,也可在文末直接获取

    配置环境变量:

    • 计算机(右键)->属性->高级系统设置->高级->环境变量->新建环境变量 JAVA_HOME,如图所示:

    图片

    • 系统变量->找到 Path 变量->编辑->在变量值的末尾添加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    • 新建 CLASSPATH 变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

    android-sdk

    下载地址:https://www.androiddevtools.cn/,也可在文末直接获取

    配置环境变量:

    • 与 JDK 配置类似,新建环境变量 ANDROID_HOME,变量值为 android-sdk 位置,比如:D:\android-sdk-windows

    • 在 Path 变量值的末尾添加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-tools

    Appium

    下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.18.3,也可在文末直接获取

    安装 Python 库:pip install appium-python-client

    Appium 安装完成启动后,点击编辑配置,配置 JDK 和 android-sdk,如图所示:

    图片

    mumu

    下载地址:http://www.51xiazai.cn/soft/584481.htm,也可在文末直接获取

    mumu 模拟器下载完后,除了根据自己需要更改一下安装路径,其他选项默认即可安装,装完后打开点击应用中心,搜一下微信,搜到之后安装一下,微信安装完成后再用自己的微信号登录一下。

    因为我们是通过安卓的 adb 连接虚拟机的,因此需要在控制台执行 adb connect 127.0.0.1:7555 命令,让 adb 连接上虚拟机。

    执行了上面连接模拟器的命令后,我们可以在 cmd 控制台输入 adb devices 查看当前连接的虚拟机。

    使用

    首先启动 Appium 和 mumu,因为之前我们已经配置了 Appium,此时我们直接点击 Appium 的启动服务器按钮即可,如下图所示:

    图片

    启动之后如图所示:

    图片

    现在我们可以先通过 Python 来启动一下微信,代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    

    执行上述代码之后,如果发现 mumu 模拟器中的微信已经启动了,就说明基本环境已经调通了;如果执行代码后发现调不到 mumu 模拟器中的微信,先在 cmd 中执行一下 adb connect 127.0.0.1:7555 命令,再执行程序即可。

    添加好友

    我们先来使用 Appium 实现添加好友的操作,基本过程为:打开微信->点击⊕->选择添加朋友->在搜索框输入微信号->点击搜索->点击添加到通讯录,功能的代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(10)
    print('点击+号')
    driver.find_element_by_id('com.tencent.mm:id/ef9').click()
    time.sleep(5)
    print('选择添加朋友')
    driver.find_elements_by_id('com.tencent.mm:id/gam')[1].click()
    time.sleep(5)
    print('点击搜索框')
    driver.find_element_by_id('com.tencent.mm:id/fcn').click()
    time.sleep(5)
    print('在搜索框输入微信号')
    driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('ityard')
    time.sleep(3)
    print('点击搜索')
    driver.find_element_by_id('com.tencent.mm:id/ga1').click()
    time.sleep(3)
    print('点击添加到通讯录')
    driver.find_element_by_id('com.tencent.mm:id/g6f').click()
    

    简单说一下,在代码中我们通过 driver.find_element_by_id('com.tencent.mm:id/xx')来获取微信上的元素,如果有重复的,则可以使用 driver.find_elements_by_id('com.tencent.mm:id/xx')[n] 来取,通过 send_keys('xx') 实现信息的输入,通过 click() 实现点击操作。

    上面我们说了通过 find_element(s)_by_id('com.tencent.mm:id/xx') 来获取元素,那么如何来确定 xx 呢?下面来一起看一下。

    首先我们点击 Appium 中的放大镜位置,如下图所示:

    图片

    点击之后会进到如下界面:

    图片

    我们在图中所需功能下方将代码中的 desired_caps 信息配置进去,配置好后点击启动会话按钮,启动之后我们会发现 Appium 中与 mumu 中的微信效果不一致,如下图所示:

    图片

    此时只需点击一下上图中红框圈起来的刷新按钮即可,现在我们就可以确定元素的值了(也就是上面说的 xx),比如:我们来确定微信中添加位置  的值,用鼠标点击 即可查看,如下图所示:

    图片

    我们接着点击 ,操作步骤为:先到 mumu 模拟器中点击微信中的 ,如下图所示:

    图片

    点击之后再到 Appium 中点击刷新按钮,如下图所示:

    图片

    从图中我们可以看列表中每个选项的值都是 com.tencent.mm:id/gam,此时代码中我们就是用的 driver.find_elements_by_id('com.tencent.mm:id/gam')[1] 来取的,通过上面的介绍相信大家对 Appium 的使用已经基本了解了。

    发送消息

    发送消息我们模拟的基本流程是:打开微信->点击搜索的放大镜->在搜索框输入好友昵称->点击搜索到的好友->发送文字+表情,代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(10)
    print('点击微信搜索框')
    driver.find_element_by_id('com.tencent.mm:id/f8y').click()
    time.sleep(10)
    print('在搜索框输入搜索信息')
    driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('Python小二')
    time.sleep(3)
    print('点击搜索到的好友')
    driver.find_element_by_id('com.tencent.mm:id/tm').click()
    time.sleep(3)
    # 输入文字
    driver.find_element_by_id('com.tencent.mm:id/al_').send_keys('hello')
    time.sleep(3)
    # 输入表情
    driver.find_element_by_id('com.tencent.mm:id/anz').click()
    time.sleep(3)
    driver.find_element_by_id('com.tencent.mm:id/rv').click()
    # 点击发送按钮发送信息
    driver.find_element_by_id('com.tencent.mm:id/anv').click()
    # 退出
    driver.quit()
    

    最后说一点,因模拟器反应可能会慢一些,如果程序执行时出错,可以将中间的等待时间time.sleep(x) 设置大一些。

    展开全文
  • Appium 封装了 Selenium,能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令,比如:多点触控手势、屏幕朝向等。 很多人学习python,不知道从何学起。 很多人学习python,掌握...

    简介

    Appium 是一个开源的自动化测试工具,支持 Android、iOS 平台上的原生应用,支持 Java、Python、PHP 等多种语言。

    Appium 封装了 Selenium,能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令,比如:多点触控手势、屏幕朝向等。

    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
    QQ群:623406465

    环境

    本文主要环境如下:

    • Win7

    • JDK1.8

    • Appium

    • Python3.7

    • android-sdk

    • mumu 模拟器

    JDK

    下载地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,也可在文末直接获取

    配置环境变量:

    • 计算机(右键)->属性->高级系统设置->高级->环境变量->新建环境变量 JAVA_HOME ,如图所示:

    • 系统变量->找到 Path 变量->编辑->在变量值的末尾添加 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    • 新建 CLASSPATH 变量,变量值为: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

    android-sdk

    下载地址: https://www.androiddevtools.cn/ ,也可在文末直接获取

    配置环境变量:

    • 与 JDK 配置类似,新建环境变量 ANDROID_HOME ,变量值为 android-sdk 位置,比如: D:\android-sdk-windows

    • Path 变量值的末尾添加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-tools

    Appium

    下载地址: https://github.com/appium/appium-desktop/releases/tag/v1.18.3 ,也可在文末直接获取

    安装 Python 库: pip install appium-python-client

    Appium 安装完成启动后,点击编辑配置,配置 JDK 和 android-sdk,如图所示:

    mumu

    下载地址: http://www.51xiazai.cn/soft/584481.htm ,也可在文末直接获取

    mumu 模拟器下载完后,除了根据自己需要更改一下安装路径,其他选项默认即可安装,装完后打开点击 应用中心 ,搜一下微信,搜到之后安装一下,微信安装完成后再用自己的微信号登录一下。

    因为我们是通过安卓的 adb 连接虚拟机的,因此需要在控制台执行 adb connect 127.0.0.1:7555 命令,让 adb 连接上虚拟机。

    执行了上面连接模拟器的命令后,我们可以在 cmd 控制台输入 adb devices 查看当前连接的虚拟机。

    使用

    首先启动 Appium 和 mumu,因为之前我们已经配置了 Appium,此时我们直接点击 Appium 的启动服务器 按钮即可,如下图所示:

    启动之后如图所示:

    现在我们可以先通过 Python 来启动一下微信,代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    

    执行上述代码之后,如果发现 mumu 模拟器中的微信已经启动了,就说明基本环境已经调通了;如果执行代码后发现调不到 mumu 模拟器中的微信,先在 cmd 中执行一下 adb connect 127.0.0.1:7555 命令,再执行程序即可。

    添加好友

    我们先来使用 Appium 实现添加好友的操作,基本过程为:打开微信->点击⊕->选择添加朋友->在搜索框输入微信号->点击搜索->点击添加到通讯录,功能的代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(10)
    print('点击+号')
    driver.find_element_by_id('com.tencent.mm:id/ef9').click()
    time.sleep(5)
    print('选择添加朋友')
    driver.find_elements_by_id('com.tencent.mm:id/gam')[1].click()
    time.sleep(5)
    print('点击搜索框')
    driver.find_element_by_id('com.tencent.mm:id/fcn').click()
    time.sleep(5)
    print('在搜索框输入微信号')
    driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('ityard')
    time.sleep(3)
    print('点击搜索')
    driver.find_element_by_id('com.tencent.mm:id/ga1').click()
    time.sleep(3)
    print('点击添加到通讯录')
    driver.find_element_by_id('com.tencent.mm:id/g6f').click()
    

    简单说一下,在代码中我们通过 driver.find_element_by_id('com.tencent.mm:id/xx') 来获取微信上的元素,如果有重复的,则可以使用 driver.find_elements_by_id('com.tencent.mm:id/xx')[n] 来取,通过 send_keys('xx') 实现信息的输入,通过 click() 实现点击操作。

    上面我们说了通过 find_element(s)_by_id('com.tencent.mm:id/xx') 来获取元素,那么如何来确定 xx 呢?下面来一起看一下。

    首先我们点击 Appium 中的放大镜位置,如下图所示:

    点击之后会进到如下界面:

    我们在图中 所需功能 下方将代码中的 desired_caps 信息配置进去,配置好后点击 启动会话按钮,启动之后我们会发现 Appium 中与 mumu 中的微信效果不一致,如下图所示:

    此时只需点击一下上图中红框圈起来的刷新按钮即可,现在我们就可以确定元素的值了(也就是上面说的 xx ),比如:我们来确定微信中添加位置  的值,用鼠标点击  即可查看,如下图所示:

    我们接着点击  ,操作步骤为:先到 mumu 模拟器中点击微信中的  ,如下图所示:

    点击之后再到 Appium 中点击刷新按钮,如下图所示:

    从图中我们可以看列表中每个选项的值都是 com.tencent.mm:id/gam ,此时代码中我们就是用的 driver.find_elements_by_id('com.tencent.mm:id/gam')[1] 来取的,通过上面的介绍相信大家对 Appium 的使用已经基本了解了。

    发送消息

    发送消息我们模拟的基本流程是:打开微信->点击搜索的放大镜->在搜索框输入好友昵称->点击搜索到的好友->发送文字+表情,代码实现如下:

    desired_caps = {
            "platformName": "Android",  # 操作系统
            "deviceName": "emulator-5554",  # 设备 ID
            "platformVersion": "6.0.1",  # 设备版本号
            "appPackage": "com.tencent.mm",  # app 包名
            "appActivity": "com.tencent.mm.ui.LauncherUI",  # app 启动时主 Activity
            'noReset': True,  # 是否保留 session 信息,可以避免重新登录
            'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的编码方式来发送字符串
            'resetKeyboard': True  # 将键盘给隐藏起来
        }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(10)
    print('点击微信搜索框')
    driver.find_element_by_id('com.tencent.mm:id/f8y').click()
    time.sleep(10)
    print('在搜索框输入搜索信息')
    driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('Python小二')
    time.sleep(3)
    print('点击搜索到的好友')
    driver.find_element_by_id('com.tencent.mm:id/tm').click()
    time.sleep(3)
    # 输入文字
    driver.find_element_by_id('com.tencent.mm:id/al_').send_keys('hello')
    time.sleep(3)
    # 输入表情
    driver.find_element_by_id('com.tencent.mm:id/anz').click()
    time.sleep(3)
    driver.find_element_by_id('com.tencent.mm:id/rv').click()
    # 点击发送按钮发送信息
    driver.find_element_by_id('com.tencent.mm:id/anv').click()
    # 退出
    driver.quit()
    

    最后说一点,因模拟器反应可能会慢一些,如果程序执行时出错,可以将中间的等待时间 time.sleep(x) 设置大一些。

    展开全文
  • Appium 封装了 Selenium,能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令,比如:多点触控手势、屏幕朝向等。 环境 本文主要环境如下: Win7 JDK1.8 Appium Python3.7 ...
  • 我们希望测试逻辑能够用Python编写,能够在电脑上运行的时候就控制手机。这里要非常感谢 Xiaocong He (@xiaocong),他将这个想法实现了出来(见xiaocong/uiautomator),原理是在手机上运行了一个http rpc服务,将...
  • appium移动端自动化测试

    千次阅读 2020-10-20 20:25:28
    appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。 二、appium运行原理 client端也就是我们 test sc
  • iPhone 6 屏幕揭秘 Apple Watch开发初探 马上着手开发 iOS 应用程序 网易斯坦福大学公开课:iOS 7应用开发字幕文件 返回目录 Java Apache Shiro 用户指南 Jersey 2.x 用户指南 Spring Framework 4.x参考文档 ...
  • 用于直播和屏幕录制的免费开源软件 - 显示和控制您的 Android 设备 - 为物联网 (IoT) 设计和优化的开源大数据平台。 - Zstandard - 快速实时压缩算法 - 适用于 iOS 的 Linux 外壳 - 适用于 iOS、macOS 和 tvOS 的 ...
  • 这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。通过 Python 脚本自动运行,让你轻松霸榜。 可能刚开始上手的时候,因为...
  • 使用CycriptTricks(Powerful_private_methods)、hookClass_knhook_hookClassLog、UIButton_sendActionsForControlEvents、DerekSelander_LLDB(Python scripts to aid in your debugging sessions)、frida 进行动态...
  • OmniPlan 3.10.4 专业版:OmniPlan for mac 是Mac OS X平台的的一款非常强大的项目管理软件,它提供的功能包含了自定检视表、阶层式的纲要模式、成本追踪、里程碑、任务限制与相关性、资源分配、时程控制、Gantt ...
  • Java To iOS JSON/XML转换为POJO Class工具 Java DAO Generate工具 Chrome插件 Android插件 JSON/XML格式化插件 Encode/Decode插件 Git Guides Google Java编程风格指南中文版 Android Developers 国内镜像站 ...
  • 《本地YouTube下载器》作者自己也承认youtube-dl要比《本地YouTube下载器》更好用一些,但《本地YouTube下载器》是一个脚本,无需安装Python开发环境,可以在浏览器直接使用,对普通用户极其友好,所以懒得折腾的非...
  • python来描述的如何读懂正则。 <p>Js也支持三种模式,gim,表示全局,不区分大小写,多行。 一般来说很少有人这么使用var xxx = new RegExp(),而是用字面量的方式,比如...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

python控制ios屏幕

python 订阅