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