使用Python + Appium+模拟器打开B站
概述
使用Appium自动化打开模拟器中的B站应用,搜索"混剪视频",并且打印第一页的标题
代码展示
from appium import webdriver
from appium.webdriver.extensions.android.nativekey import AndroidKey
desired_caps = {
'platformName': 'Android', # 连接设备为安卓系统
'platformVersion': '5.1.1', # 手机安卓版本,必须与设备匹配
'deviceName': "emulator-5554", # 设备名,cmd中使用 adb devices命令查看
'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App
'newCommandTimeout': 10000, # APP默认自动一分钟后关闭,开启可以延长
# 'automationName': 'UiAutomator2', # 获取toast信息弹出框需添加,但需要先配置UiAutomator2
# 'app': r'd:\apk\bili.apk', # 测试apk包的路径,如果有了app就不需要APP Package和Activity,反理同之
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 设置缺省等待时间
driver.implicitly_wait(10)
# 如果有`青少年保护`界面,点击`我知道了`
iknow = driver.find_elements_by_id("text3")
if iknow:
iknow.click()
# 根据id定位搜索位置框,点击
driver.find_element_by_id("expand_search").click()
# 根据id定位搜索输入框,点击
sbox = driver.find_element_by_id('search_src_text')
sbox.send_keys('混剪视频')
# 输入回车键,确定搜索
driver.press_keycode(AndroidKey.ENTER)
# 选择(定位)所有视频标题
titles = driver.find_elements_by_id("title")
for title in titles:
# 打印标题
print(title.text)