xbot.mobile.session

概述

session接口主要是针对手机连接的操作,如查找元素和设备操作

详情

find_all

获取手机中与选择器匹配的全部元素并返回元素列表

find_all(self, selector)

参数

  • selector:要查找的选择器,支持以下格式:
  • 选择器名称:str 类型
  • 选择器对象:Selector 类型

返回值

  • List[MobileElement]:手机元素列表

示例1

在当前手机中查找并返回所有和选择器 好友名称 匹配的元素列表

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all('好友名称')

find

获取手机中与元素选择器匹配的元素

find(self, selector)

参数

  • selector:要查找的选择器,支持以下格式:
  • 选择器名称:str 类型
  • 选择器对象:Selector 类型

返回值

  • MobileElement:手机元素

示例1

在当前窗口中获取与选择器 好友名称 匹配的元素并返回

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find('好友名称')

find_all_by_id

获取手机中指定resource-id的全部元素并返回元素列表

find_all_by_id(self, id)

参数

  • id:元素的resource-id属性值

返回值 • List[MobileElement]:手机元素列表

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all_by_id('com.tencent.mm:id/ic')

find_by_id

获取手机中指定resource-id的元素

find_by_id(self, id)

参数

  • id:元素的resource-id属性值

返回值

  • MobileElement:手机元素

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find_by_id('com.tencent.mm:id/cj')

find_all_by_accessibility_id

获取手机中指定accessibility_id的全部元素并返回元素列表

find_all_by_accessibility_id(self, accessibility_id)

参数

  • accessibility_id:元素的content-desc属性值

返回值

  • List[MobileElement]:手机元素列表

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all_by_accessibility_id('icon')

find_by_accessibility_id

获取手机中指定accessibility_id的元素

find_by_accessibility_id(self, accessibility_id)

参数

  • accessibility_id:元素的content-desc属性值

返回值

  • MobileElement:手机元素

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find_by_accessibility_id('icon')

find_all_by_label_name

获取手机中指定label_name的全部元素并返回元素列表

find_all_by_label_name(self, label_name)

参数

  • label_name:元素的class属性值/元素的标签名

返回值

  • List[MobileElement]:手机元素列表

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all_by_label_name('android.widget.TextView')

find_by_label_name

获取手机中指定label_name的元素

find_by_label_name(self, label_name)

参数

  • label_name:元素的class属性值/元素的标签名

返回值

  • MobileElement:手机元素

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find_by_label_name('android.widget.TextView')

find_all_by_xpath

获取手机中指定xpath的全部元素并返回元素列表

find_all_by_xpath(self, xpath)

参数

  • xpath:元素的xpath路径

返回值

  • List[MobileElement]:手机元素列表

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.TabHost/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.TabWidget/android.widget.FrameLayout[1]/android.widget.RelativeLayout/android.widget.TextView')

find_by_xpath

获取手机中指定xpath的元素

find_by_xpath(self, xpath)

参数

  • xpath:元素的xpath路径

返回值

  • MobileElement:手机元素

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.TabHost/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.TabWidget/android.widget.FrameLayout[1]/android.widget.RelativeLayout/android.widget.TextView')

find_all_by_uiautomator_selector

获取手机中指定uiautomator_selector的全部元素并返回元素列表

find_all_by_uiautomator_selector(self, uiautomator_selector)

参数

  • uiautomator_selector:元素的android selector path

返回值

  • List[MobileElement]:手机元素列表

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    elements = session.find_all_by_uiautomator_selector('new UiSelector().className(\"android.widget.ImageView\")')

find_by_uiautomator_selector

获取手机中指定uiautomator_selector的元素

find_by_uiautomator_selector(self, uiautomator_selector)

参数

  • uiautomator_selector:元素的android selector path

返回值

  • MobileElement:手机元素

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    element = session.find_by_uiautomator_selector('new UiSelector().className(\"android.widget.ImageView\")')

contains_element

当前手机中是否包含与元素选择器匹配的元素

contains_element(self, selector)

参数

  • selector:要查找的选择器,支持以下格式:
  • 选择器名称:str 类型
  • 选择器对象:Selector 类型

返回值

  • bool:如果手机包含目标元素则返回True,否则返回False

示例1

判断当前手机中是否包含与元素选择器 聊天输入框 匹配的元素

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    if session.contains_element('聊天输入框') == True:
        print('元素存在')
    else:
        print('元素不存在')

click

单机手机屏幕指定位置

click(self, point_x, point_y, * , delay_after=1)

参数

  • point_x:目标点的横向坐标
  • point_y:目标点的纵向坐标
  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

点击屏幕 (500, 500) 处

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.click(500, 500)

dblclick

双击手机屏幕指定位置

dblclick(self, point_x, point_y, * , delay_after=1)

参数

  • point_x:目标点的横向坐标
  • point_y:目标点的纵向坐标
  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

双击屏幕 (500, 500) 处

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.dblclick(500, 500)

longpress

长按手机屏幕指定位置

dblclick(self, point_x, point_y, * , delay_after=1)

参数

  • point_x:目标点的横向坐标
  • point_y:目标点的纵向坐标
  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

长按屏幕 (500, 500) 处

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.longpress(500, 500)

swipe

在手机屏幕上滑动手指

swipe(self, start_point_x, start_point_y, end_point_x, end_point_y, * , swipe_time=800, delay_after=1)

参数

  • start_point_x:滑动起始点横向坐标
  • start_point_y:滑动起始点纵向坐标
  • end_point_x:滑动结束点横向坐标
  • end_point_y:滑动结束点纵向坐标
  • swipe_time:滑动总时间
  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

模拟手指在屏幕上向上滑动

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.swipe(500, 1200, 500, 200)

back

后退

back(self, delay_after=1)

参数

  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.back()

home

主页

home(self, delay_after=1)

参数

  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.home()

switchapp

切换应用

switchapp(self, delay_after=1)

参数

  • delay_after:执行成功后延迟时间,默认延迟1s

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.switchapp()

getoriention

获取手机当前的屏幕方向

getoriention(self)

参数

返回值

  • int:横屏返回 0, 竖屏返回 1

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.getoriention()

setoriention

设置手机的屏幕方向

setoriention(self, screenOrientation:int)

参数

  • screenOrientation:横屏为 0, 竖屏为 1

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.setoriention(0)

screensho

对手机屏幕进行截图并保存

screenshot(self, folder_path, * , filename=None)

参数

  • folder_path:截图保存的路径
  • filename:截图保存时的文件名, 可为空, 为空时会更具当前时间自动生成文件名

返回值

示例1

对手机屏幕进行截图,并将结果保存到D盘根目录下,文件名根据当前时间自动生成

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.screenshot('D:\\')

get_page_source

获取手机当前页面的树结构信息,返回XML结构的字符串

get_page_source(self)

参数

返回值

获取到的UI树

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    page_source = session.get_page_source()

get_clipboard_text

获取剪贴板文本内容

get_clipboard_text(self)

参数

返回值

  • str:返回文本内容

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    text = session.get_clipboard_text()
    print(text)

set_clipboard_text

设置剪贴板文本内容

set_clipboard_text(self, value)

参数

  • value:文本内容

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.set_clipboard_text('hello影刀')

get_session_detail

获取手机连接信息详情

get_session_detail(self)

参数

返回值

dict:返回连接信息详情

close

关闭此手机连接

close(self)

参数

返回值

示例1

import xbot
from xbot import print, sleep
from .import package

def main(args):
    session = xbot.mobile.connect_by_custom_name('我的安卓手机')
    session.close()
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""