获取弹框结果_python+appium自动化权限授权弹框处理——终极解决方法

47ab395725b50fae69c49db814b3ea77.png

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

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)
a84e23db3fe98660a6997199e111299c.png

把打印出来的页面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("http://127.0.0.1:4723/wd/hub",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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值