龙空技术网

python+appium自动化权限授权弹框处理——终极解决方法

我的测试开发之路 52

前言:

目前兄弟们对“python自动化关闭弹框”大约比较注重,看官们都需要了解一些“python自动化关闭弹框”的相关文章。那么小编也在网上网罗了一些对于“python自动化关闭弹框””的相关文章,希望看官们能喜欢,大家一起来学习一下吧!

处理手机获取授权弹框,网上百度基本都是教你

for i in range(5):    loc = ("xpath", "//*[@text='始终允许']")    try:        e = WebDriverWait(driver, 1, 0.5).until(EC.presence_of_element_located(loc))        e.click()    except:        pass

通过xpath定位到文本文字,然后通过显性等待形式,进行点击,然后循环五次。思路是没错,方法也没错,但是还很多人,通过以上方法还是未解决定位问题,始终无法完成点击按钮步骤。

终极解决方法:

#打印出页面信息,是否弹框按钮是否在当前页面print(driver.page_source)

把打印出来的页面html,复制到txt文件,看看页面源码。是否有“始终运行” 文件,可以ctrl+F 搜索一下。 结果是 找不到!!!

通过翻阅appium官网原文, 推荐使用

        "automationName" : "UiAutomator2"

在你的信息头里面加入"automationName" : "UiAutomator2",就可以点击到 弹框按钮了

from appium import webdriverimport timefrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECr = {        "platformName": "Android",        "deviceName": "SJQ4C18927000478",        "platformVersion": "8.1",        "appPackage": "xxx",        "appActivity": ".bnb.net.kexinmvp.WelcomeActivity",        'unicodeKeyboard': True,        'resetKeyboard': True,        "automationName" : "UiAutomator2"}driver = webdriver.Remote(";,r)time.sleep(3)driver.find_element_by_id("net.kexin.bnb:id/et_phone").send_keys("XXXX")driver.find_element_by_id("net.kexin.bnb:id/et_code").send_keys("XXXX")driver.find_element_by_android_uiautomator('new UiSelector().text("登录")').click()print(driver.page_source)for i in range(5):        loc = ("xpath", "//*[@text='允许']")        try:                e = WebDriverWait(driver,2,0.5).until(EC.presence_of_element_located(loc))                e.click()        except:                pass

标签: #python自动化关闭弹框