- 概述
- 详情
- find_all
- find
- find_all_by_id
- find_by_id
- find_all_by_accessibility_id
- find_by_accessibility_id
- find_all_by_label_name
- find_by_label_name
- find_all_by_xpath
- find_by_xpath
- find_all_by_uiautomator_selector
- find_by_uiautomator_selector
- contains_element
- click
- dblclick
- longpress
- swipe
- back
- home
- switchapp
- enter
- getoriention
- setoriention
- screenshot
- get_page_source
- get_window_size
- get_clipboard_text
- set_clipboard_text
- push_file
- pull_file
- get_session_detail
- close
概述
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()
enter
回车确认
enter(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.enter()
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)
screenshot
对手机屏幕进行截图并保存
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_window_size
获取手机分辨率
get_window_size(self)
参数:
- 无
返回值:
tuple
:返回元组,格式为(width, height)
示例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_window_size()
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影刀')
push_file
将本机PC中的指定文件推送到手机中的指定位置
push_file(self, file_path, path_on_device)
参数:
- file_path:本地PC中的文件
- path_on_device:手机中的指定位置
返回值:
- 无
示例1:
import xbot
from xbot import print, sleep
from .import package
def main(args):
session = xbot.mobile.connect_by_custom_name('我的安卓手机')
session.push_file(r'c:\test.txt', r'/storage/sdcard0/test.txt')
pull_file
拉取手机中的指定文件,并保存到本机PC中的指定位置
pull_file(self, path_on_device, file_path)
参数:
- path_on_device:手机中的指定文件位置
- file_path:本机PC中的指定位置
返回值:
- 无
示例1:
import xbot
from xbot import print, sleep
from .import package
def main(args):
session = xbot.mobile.connect_by_custom_name('我的安卓手机')
session.pull_file(r'/storage/sdcard0/test.txt', r'c:\test.txt')
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()