1. 程式人生 > 實用技巧 >Appium之首次開啟app時許可權彈框問題

Appium之首次開啟app時許可權彈框問題

新安裝的app應用,首次開啟時會出現許可權彈框(確定/取消許可權),如下:

對於這些許可權彈框,我們也是可以定位到得:

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

desired_caps = {
    'autoLaunch': 'True',
    'deviceName': 'Honor10.0',
    'platformVersion
': '10.0', 'platformName': 'Android', 'noReset': 'True', 'appPackage': 'com.fenbi.android.solar', 'appActivity': 'com.fenbi.android.solar.activity.RouterActivity', } driver = webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps) # 不同意授權,則退出App # loc_disagree = ("id", "com.fenbi.android.solar:id/tv_disagree")
# try: # ele = WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located(loc_disagree)) # ele.click() # except Exception as e: # raise e # 同意授權,則可一步步進入App loc_agree = ("id", "com.fenbi.android.solar:id/tv_agree") try: ele = WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located(loc_agree)) ele.click()
except Exception as e: raise e else: loc_permission = ("xpath", "//*[@text='確定']") ele2 = WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located(loc_permission)) ele2.click() loc_skip = ("xpath", "//*[@text='跳過']") ele3 = WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located(loc_skip)) ele3.click() print("已成功開啟小猿搜題App.")

PS:若存在多個text文字相同的許可權彈框時,則可以for迴圈。