自動化連接 B站
開始 如果下載node.js 的話 可以檢查一下appium環境
命令行: appium-doctor
如果沒有 可以安裝 appium-doctor :npm install -g appium-doctor
運行代碼前, 要先運行 Appium Desktop
運行 成功的狀態 等待自動化程序進行鏈接 發出自動化指令
然后 真機進入開發者模式usb調試授權
電腦命令行檢測是否連接 adb devices -l
也可下載投屏軟件 進行與手機的交互(scrcpy)
查找 應用 Package 和 Activity
----------------------------------------------------------------------------------------------------------------------------------------
from appium import webdriver
# 可視化投屏
from appium.webdriver.extensions.android.nativekey import AndroidKey
desird_caps = {
'platformName': 'Android', # 被測手機是anzhuo
'platformVersion': '10', # 手機安裝版本
'deviceName': 'SM-G9600/DS-43345239494a3098', # 自己手機型號-(adb devices 返回的設備號)
'appPackage': 'tv.danmaku.bili', # 啟動APP package 名稱
'appActivity': 'ui.splash.SplashActivity', # 啟動Activity 名稱
'unicodeKeyboard': True, # 使用自帶輸入法,輸入中文時添True
'resetKeyboard': True, # 執行完程序恢復原來輸入法
'noReset': True, # 不要重置App
'newCommandTimeout': 6000,
'automationName': 'UiAutomator2'
# 'app': r'd:\apk\bili.apk'
}
# 連接Appium Server, 初始化自動化環境 開始控制手機 固定寫法 desird_caps:配置信息
driver = webdriver.Remote('http://localhost:4723/wd/hub', desird_caps)
# 設置缺省等待時間
driver.implicitly_wait(10)
# 根據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)
# 選擇(定位) 所有視頻標題 因為id不唯一 所有用 elements
eles = driver.find_elements_by_id('title')
for ele in eles:
ele.click()
# 打印標題
# print(ele.text)
input('****按任意鍵退出...')
driver.quit()
----------------------------------------------------------------------------------------------------------------------------------------
# sbox.send_keys('老祝頭之華山論劍')