前言:
目前兄弟们对“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自动化关闭弹框