python+appium启动微信公众号

1.开启微信debug模式

在微信浏览器中打开:debugx5.qq.com,在信息页面勾选‘打开TBS内核Inspector调试功能’

在电脑chrome浏览器输入:chrome://inspect/#devices ,查看微信webview版本号

2. 代码配置

# 微信公众号 vivo

desired_caps_vivo_weixin= {

    'platformName': 'Android',

    'platformVersion': '8.1',

    'deviceName': 'PD1635',

    'noReset': 'True',

    'appPackage': 'com.tencent.mm',

    'appActivity': '.ui.LauncherUI',

    'automationName': "Uiautomator2",

    'newCommandTimeout': 240,

    'chromeOptions': {

        'androidProcess': 'com.tencent.mm:tools'

    },

    'unicodeKeyboard': True,

    'resetKeyboard': True

}

3.操作公众号(代码实现)

首先要关注微信公众号‘心医国际(西安)’,执行以下代码

driver = webdriver.Remote(command_executor = 'http://127.0.0.1:4723/wd/hub',desired_capabilities = desired_caps_vivo_weixin)

#输入搜索内容

driver.find_element_by_id('com.tencent.mm:id/kh').send_keys('心医国际西安')

time.sleep(5)

#点击搜索结果

driver.find_element_by_id('com.tencent.mm:id/q0').click()

time.sleep(5)

#点击菜单-延安APP

driver.find_element_by_xpath('//android.widget.TextView[@text="APP项目"]').click()

time.sleep(2)

driver.find_element_by_xpath('//android.widget.TextView[@text="延安APP"]').click()

time.sleep(5)

cts = driver.contexts

print(cts)     # 打印结果:['NATIVE_APP', 'WEBVIEW_com.tencent.mm:tools'],默认到webview下

#切换到webview

driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')

print('切换成功')

#打印webview页面html

print(driver.page_source)

4.问题处理

执行代码driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')报错,可以看到是因为chrome和chromedriver版本不对应导致,chrome版本由chrome://inspect/#devices 查到为66.0.3359.126,Chromedriver版本为2.46。

查看chromedriver和chrome的对比表:https://blog.csdn.net/huilan_same/article/details/51896672

Chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html

将对应的Chromedriver下载后放在指定文件夹下:

启动配置中增加:'chromedriverExecutableDir':'D://tools//chromedriver//2.38'

执行代码启动微信公众号,之后的webview页面元素获取使用selenium框架。

selenium元素定位参考文件:

https://blog.csdn.net/xiaoguanyusb/article/details/82143753

https://www.cnblogs.com/hanmk/p/9015502.html

你可能感兴趣的:(python+appium启动微信公众号)