zoukankan      html  css  js  c++  java
  • 【转】NO.3、python+appium+ios,遍历真机元素,得到webview

    pyhton+appium+iOS,遍历真机webview。是遍历真机的webview,遍历模拟器的webview请另寻方法。

    1.mac上安装ios_webkit_debug_proxy

    命令:brew install ios_webkit_debug_proxy

    2.ios上打开web检查器

    位置:设置—》Safari—》高级—》web检查器

    3.启动ios_webkit_debug_proxy

    命令:ios_webkit_debug_proxy -c xxxxxxxxxxxxxxxxxxx:27753 -d

    -c后的参数指真机udid

    4.driver.contexts即可得到页面所有context,这个方法会将context存在list里,打印出list内容,查看你要的webview在第几个,用switch_to.context()切换到那个webview即可,代码如下,

    # 假设我的目标webview存在list里的第三个

    myWebview = self.driver.context[2]

    self.driver.switch_to.context(myWebview)

    这样就切换到了目标webview,接下来就可以像web自动化一样,操作html元素了。怎么得到元素属性,请继续往下看。

    ----------------------------------------怎么得到webview里的元素--------------------------------------------

    切换到了webview里,就可以对元素操作了,但是第一步,要得到元素的属性,下面讲步骤:

    1.启动webkit服务,并指定谷歌浏览器进行监听

    ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html

    2.跑起你的用例代码,停留在含webview的页面。注意,是跑起代码,停留在含webview的页面,不是手动点到那个位置,切记!切记!

    3.谷歌浏览器地址输入http://127.0.0.1:9222

    在列表中,你就看到了webview的地址,是个完整的url,如图

    4.复制出url到浏览器地址,回车,你就会看到在app里一样的webview页面,接下来你就能像web自动化一样,得到元素xpath等等了

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    【Docker】04 部署MySQL
    【Docker】03 基础操作
    【Nexus】Linux上的Maven私服搭建
    【Mybatis-Plus】01 快速上手
    【Java】IDEA普通JavaEE项目实现SSM整合
    【Vue】03 Slot 插槽 & 自定义事件
    【Vue】02 Component 组件 & Axios
    【Vue】01 基础语法
    【Vue】Vue-Cli 安装
    【Project】JS的Map对象前后交互问题
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/7448260.html
Copyright © 2011-2022 走看看