帮助中心
快速寻找答案
首页>帮助手册>

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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过xpath 查找与之匹配的所有相似元素列表

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')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过xpath 查找与之匹配的手机元素

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\")')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过uiautomator_selector 查找与之匹配的相似元素列表

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\")')

该示例执行逻辑: 与指定手机建立连接 --> 在当前手机中通过uiautomator_selector 查找与之匹配的手机元素

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

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

该示例执行逻辑: 与指定手机建立连接 --> 点击屏幕 (500, 500) 处

dblclick()

双击手机屏幕指定位置

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

输入参数

point_x:目标点的横向坐标

point_y:目标点的纵向坐标

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.dblclick(500, 500)

该示例执行逻辑: 与指定手机建立连接 --> 双击屏幕 (500, 500) 处

longpress()

长按手机屏幕指定位置

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

输入参数

point_x:目标点的横向坐标

point_y:目标点的纵向坐标

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.longpress(500, 500)

该示例执行逻辑: 与指定手机建立连接 --> 长按屏幕 (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()

该示例执行逻辑: 与指定手机建立连接 --> 模拟手机按下 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('我的安卓手机')
orientation_code=session.getoriention()
print(orientation_code)

该示例执行逻辑: 与指定手机建立连接 --> 获取手机当前的屏幕方向 --> 打印输出屏幕方向代号

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)

该示例执行逻辑: 与指定手机建立连接 --> 设置手机当前的屏幕方向为横屏

screenshot()

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

screenshot(self, folder_path, filename=None)

输入参数

folder_path:截图保存的路径

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

返回值

示例1

import xbot
from xbot import print, sleep
from .import package
def main(args):
session = xbot.mobile.connect_by_custom_name('我的安卓手机')
session.screenshot('D:\\')

该示例执行逻辑: 与指定手机建立连接 --> 对手机屏幕进行截图,并将结果保存到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影刀')

该示例执行逻辑: 与指定手机建立连接 --> 设置剪切板内容为 '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()

该示例执行逻辑: 与指定手机建立连接 --> 关闭手机连接

问题没有解决?去社区提问