1、第一步

微信内H5页面调试需要将调试模式打开,微信任意聊天框http://debugmm.qq.com/?forcex5=true
http://debugx5.qq.com
点击信息,勾选打开调试功能

2、第二步

下载谷歌对应的驱动,打开chrome浏览器,地址栏输入 chrome://inspect ,出现如下所示界面

https://chromedriver.storage.googleapis.com/index.html,浏览器驱动下载地址。下载了对应的驱动后,以前的驱动可以新建一个文件夹放着,然后再到appium里面去填写驱动的路径。

小程序只能用xpath定位!!!

3、第三步

有h5锲套的APP或者小程序,要下载uc开发者工具,直接百度即可。
h5锲套的直接用uc开发者工具进行元素定位即可。直接右键复制xpath定位。跟浏览器上的f12一样。

from appium import webdriver
from time import sleep as s
from Testcase.homepage import HomePage
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
# from selenium.common.exceptions import NoSuchElementException
#手机的信息
desired_caps = {"devicesName": "FFK0217724002496","platformName": "Android","platformVersion": "9","appPackage": "com.tencent.mm","appActivity": ".ui.LauncherUI",'newCommandTimeout': 6000,"noReset": True,"unicodeKeyboard": True,"resetKeyboard": True,"automationName": "uiautomator2","chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"},# "showChromedriverLog": True,
}driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.implicitly_wait(8)
# 等待activity出现后每两秒查找一次
# driver.wait_activity("",100,interval=2)
# AC = driver.current_activity
# print(AC)#点击微信
driver.find_elements_by_id('com.tencent.mm:id/dtx')[2].click()
sleep(3)
driver.find_elements_by_id('com.tencent.mm:id/dvz')[6].click()
sleep(3)driver.find_elements_by_id('com.tencent.mm:id/ik3')[0].click()
sleep(3)conss = driver.contexts
print('当前小程序所有的上下文:{}'.format(conss))
#切换窗口
print('开始切换上下文')
driver.switch_to.context('WEBVIEW_com.tencent.mm:appbrand0')
print('切换成功')hs = driver.current_window_handle
print('当前所有的窗口为:{}'.format(driver.window_handles))
print('当前所在的窗口为: {}'.format(driver.current_window_handle))
sleep(3)handles = driver.window_handles
print('所有的窗口句柄:{}'.format(handles))for handle in handles:if handle != hs:driver.switch_to.window(handles[-1]) #hs
# for handle in hs:
#     driver.switch_to.window(handle)
#     print('切换到窗口handle:{}'.format(handle))
#     print(driver.page_source)
#     sleep(3)
#     if driver.page_source.find('https://servicewechat.com/preload/page-frame.html') != -1:
#         break
# sleep(3)
#元素已经被封装,这里直接调用那个模块就行
for i in range(10):new = 1ys = driver.find_element(*HomePage.hb).click()sleep(4)new += iprint('第:{}次拆红包'.format(new))# print('当前窗口:{}'.format(driver.current_window_handle))
print('complete')window_size = driver.get_window_size()
print(window_size)x = window_size['width']
y = window_size['height']def swipe_right(driver, t=400, n=1):window_size = driver.get_window_size()x1 = window_size['width'] * 0.25y1 = window_size['height'] * 0.5x2 = window_size['width'] * 0.75for i in range(n):driver.swipe(x1, y1, x2, y1, t)swipe_right(driver)
print('swipe_right')

小程序拆红包的一个自动化。

微信小程序(h5锲套)定位元素问题相关推荐

  1. 微信小程序:获取地理定位和显示相应的城市名称。

    最近在看微信小程序,遇到地理定位显示城市名称的问题.本文就是记录这一过程. 解决方案                                                          ...

  2. api 定位 微信小程序 精度_聊聊微信小程序内置地图定位的精确性

    前段时间,一个客户说到,我们给做的 菜齐了小程序 商家定位的地图不准确!用户想要去小程序指定的商家,从微信地图入口导航到所需要的地点差了有上百米! 上百米,这距离可够地远的,这怎么可能啊?我们一一查看 ...

  3. 微信小程序_map组件实现定位

    微信小程序_map组件实现定位 map组件 这是官方提供的地图组件,很多复杂的功能我暂时没有接触到,而且有的效果似乎只有企业可以使用.我在这里就简单的实现一下map组件的定位用户的位置的功能. 下面的 ...

  4. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    项目介绍 一款轻量级.高性能.前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城. 完整代 ...

  5. 开源一个基于微信小程序的蓝牙室内定位软件(附下载链接)

    文章目录 1. 运行环境要求 2. 软件功能及程序说明 2.1 软件组成 2.2 主要功能 2.3 文件及函数功能说明 3. 软件设计及操作说明 4. 完整版代码获取 1. 运行环境要求 软件运行环境 ...

  6. 微信小程序canvas大小、定位适配

    微信小程序canvas大小.定位适配 在微信小程序canvas开发中,遇到一种情况:在iPhone X调好的定位大小,把机型调整为iPhone 5,由于iPhone5屏幕较小,canvas画出的内容就 ...

  7. 微信小程序/H5(UniApp)导入/导出excel文件

    微信小程序/H5本地读写excel 准备工作 JS库 本地导入并读取Excel(*.xls, *.xlsx) Excel文件示例 选取文件并获得binary数据 Binary数据转json 本地构建并 ...

  8. uni-app 实现 fullpage 组件(适用于微信小程序,h5等)

    uni-app 实现 fullpage 组件(适用于微信小程序,h5等) 业务需求. 本文github 源码地址 1.组件 src/components/FullPage/index.vue < ...

  9. 2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区

    2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区 核芯物联推荐生态合作伙伴莱讯科 ...

  10. Web端(微信小程序)H5+java+selenium自动化

    前置步骤,创建工程(可以testng或普通工程),这里默认是创建的testng工程,前面文章中有讲如何配置好testng工程 当前很多微信小程序都是H5实现,这章主要是讲如何测试H5自动化. 直接上代 ...

最新文章

  1. Matlab实现图像边缘检测
  2. 前端日拱一卒D9——ES6笔记之基础篇
  3. 如何将结婚当作项目来管理
  4. git fock的子项目从上游仓库(源项目)同步更新
  5. ubuntu php pear_ubuntu下安装pear包(lynx和php-cli安装)
  6. input全选和取消全选
  7. 动物和计算机-自组织是悬空的钢丝
  8. Java线程池实现音频播放
  9. linux----文件权限管理
  10. python解析器下载_pak文件解析-pak文件解析工具下载Python版-西西软件下载
  11. oracle热备是什么意思,Oracle冷备和热备脚本
  12. 生成带二维码图片并通过微信分享
  13. 18岁的融创正在成为地产圈“潮牌”
  14. 洛谷算法题单:模拟与高精度例题(上)
  15. 计算机一级插入页码,计算机一级WPS考试:WPS文字中页码插入及排版技巧
  16. 小米官网新头部logo保存CSS中显示不全问题
  17. ppt教学课件制作的原则、规律和授课技巧
  18. stroage——SAN存储与WINDOWS主机连接
  19. html在线预览ppt excel,JavaScript实现Word、Excel、PPT在线预览
  20. N多计算机精品免费视频下载

热门文章

  1. 用竞聘方案选拔真正胜任岗位的管理干部
  2. javassist使用并生成动态代理
  3. 数据库学习之MySQL (三)——数据库小试牛刀 + 利用对象思维理解表行列
  4. I2C协议+实现源码
  5. 双11狂欢节模板 让大屏“闪电”起来
  6. Android上实现一个简单的天气预报APP(十二) 未来三天的天气预报
  7. QTP的智能识别(Smart Identification)过程
  8. 计算机丢失pli.dll,pli01_silos.dll
  9. EasyExcel全面教程快速上手
  10. Android英语在线翻译