当前位置: 首页 > news >正文

网页设计个人实训报告抖音搜索seo排名优化

网页设计个人实训报告,抖音搜索seo排名优化,wordpress迁移跳转原网站,便宜手机网站建设appium操控微信小程序的坑 打不开启动页面driver的context只有NATIVE_APP小程序上元素找不到 我打算使用appium操控微信小程序,只要能够获取到小程序的页面元素就算成功。下面都是我遇到的问题。 打不开启动页面 以下是我的appium的配置参数和代码: de…

appium操控微信小程序的坑

    • 打不开启动页面
    • driver的context只有NATIVE_APP
    • 小程序上元素找不到

我打算使用appium操控微信小程序,只要能够获取到小程序的页面元素就算成功。下面都是我遇到的问题。

打不开启动页面

以下是我的appium的配置参数和代码:

desired_caps = {'platformName': 'Android','platformVersion': '10','automationName': 'uiautomator2','deviceName': 'E3LBB20402214821','appPackage': 'com.tencent.mm','appActivity': '.ui.LauncherUI','noReset': True,'chromedriverExecutable': 'D://selenium//86.0.4240.22//chromedriver.exe','shouldTerminateApp':True,'showChromedriverLog': True,
}# 指定Appium Server
server = 'http://127.0.0.1:4723'
# 新建一个driver
options = AppiumOptions()
options.load_capabilities(desired_caps)
driver = webdriver.Remote(server, options=options)print("正在打开微信呢...")driver.implicitly_wait(5)driver.find_element(AppiumBy.XPATH, '//*[@text="通讯录"]')
print("打开微信成功...")

启动appium:

appium -g C:\Users\resus\Desktop\a.txt

C:\Users\resus\Desktop\a.txt 是日志的目录。

现象:

微信没有打开,直接就定位通讯录。

日志:

在这里插入图片描述
查找问题:

在这里插入图片描述
他说微信已经启动了,我根本没启动啊。按照他的提示,设置一个参数:

'forceAppLaunch': True

这样就可以打开微信了。

driver的context只有NATIVE_APP

代码:

size = driver.get_window_size()
driver.swipe(size['width'] * 0.5, size['height'] * 0.4, size['width'] * 0.5, size['height'] * 0.9)driver.find_element(AppiumBy.XPATH, '//*[@text="球场预定"]')print("driver context", driver.contexts)
print(driver.current_context)# 打开小程序
driver.find_element(AppiumBy.XPATH,'//*[@content-desc="球场预定,"]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]').click()
print("driver context", driver.contexts)
print(driver.current_context)time.sleep(10)
print("driver context", driver.contexts)
print(driver.current_context)

小程序是运行在谷歌浏览器里面的,是一个进程,这种也叫webview。你要获取里面的元素,得把上下文从微信迁到小程序。

现象:

我打印的结果:

driver context ['NATIVE_APP']
NATIVE_APP
driver context ['NATIVE_APP']
NATIVE_APP
driver context ['NATIVE_APP']
NATIVE_APPProcess finished with exit code 0

这样就没有办法操作小程序。

日志:

在这里插入图片描述

根本就没有一个webview。

我这里的问题是:没有打开debug模式。

解决:

在微信app中打开http://debugxweb.qq.com/?inspector=true,开启debug模式。

如何检验是否开启?

在谷歌浏览器中输入:chrome://inspect/#devices。在微信上打开一个小程序,如果浏览器能够检测到,那就说就说明微信已经开启了debug模式。

在这里插入图片描述

再次运行。

此时就有很多webdriver的context打印出来:

driver context ['NATIVE_APP', 'WEBVIEW_com.tencent.mm:appbrand2', 'WEBVIEW_com.tencent.mm:appbrand0', 'WEBVIEW_com.tencent.mm']

我们切换到小程序的进程,就可以拿到它的页面源码了:

driver.switch_to.context("WEBVIEW_com.tencent.mm:appbrand0")print("page source:", driver.page_source)

小程序上元素找不到

如果page_source打印出来没有问题,但是依旧定位不了元素,可能是以下原因:

  • 等我们进入到小程序的上下文了,元素定位的时候,有件事情要注意,就是要用selenium的XPATH来定位,不要用appium的:
from selenium.webdriver.common.by import Bydriver.find_element(By.XPATH,'xxxxxxxxxx')

把webview想成是PC的页面就行。

  • 隐式等待打开,这个确保找不到元素是其他原因:
driver.implicitly_wait(30)
  • 如果还是找不到元素,那可能是window不对。打印一下窗口有几个,每个窗口都去试一下。
print("window_handles:", driver.window_handles)for window in driver.window_handles:try:driver.switch_to.window(window)print("current window:", driver.current_window_handle)print("current url:", driver.current_url)print(driver.find_element(By.XPATH, '//*[@id="fb-main"]/wx-view/wx-view[1]/wx-view[2]/wx-fb-common/wx-fb-base-button/wx-view/wx-van-button/wx-button/wx-view').text)except Exception as e:print(e)
http://www.mmbaike.com/news/105099.html

相关文章:

  • 第三方网站分类达人介绍
  • 做公司网站需要注意哪些福州网站排名
  • wordpress 高德地图seo关键词挖掘工具
  • 电子商务网站开发前言网站排名推广推荐
  • 做音乐网站用什么程序吸引人的推广标题
  • 濮阳做网站的电话山东seo推广
  • 深圳网站建设网络推广百度关键词排名点击器
  • wpf算是网站开发吗如何查询网站收录情况
  • 设计类网站开发策划书小说风云榜
  • wordpress网站怎么优化怎么做网站模板
  • 做全网营销型网站建设软文推广服务
  • 企业信用公示信息系统(全国)官网宁波网站排名优化seo
  • 昆明地推业务推广公司关键词优化的原则
  • 昆明网站建设哪家最好西安百度推广联系方式
  • 如何对网站进行分析一个新手怎么做推广
  • 专业网站建设团队网站被禁用如何解决
  • 甘肃做网站营销渠道策略有哪些
  • 做网站设计工资多少钱网络推广应该怎么做啊
  • iis日志 网站攻击怎么自己做网站推广
  • 纯静态网站怎么做连接友谊
  • 厦门做网站培训足球比赛直播2021欧冠决赛
  • 特乐网站建设免费推广seo
  • 个人做网站的时代已经过去大一html网页制作作业
  • 商业网站的建设与制作地推接单平台app排行榜
  • 网站的锚点链接怎么做百度推广是什么
  • 安卓开发培训seo建设招商
  • 做暧暖ox免费网站排名网
  • 山东网站建设公司哪家专业百度人工
  • 网站的站点建设销售推广的方法都有哪些
  • 在linux系统上用什么做网站安卓优化