使用Appinum爬取微信朋友圈

环境配置

安装Android SDK

安装Appium Server

https://bitbucket.org/appium/appium.app/downloads/

将下载的 AppiumForWindows.zip 进行解压,点击 appium-installer.exe 进行安装。

把安装目录下的**…\Appium\node_modules.bin**添加到系统变量Path后。

打开Windows命令提示符,输入appium-doctor,检查所需环境是否satisfied。

安装Python Appium Client

使用pip或者conda等包管理器安装:

conda install Appium-Python-Client

爬取过程

使用Appium打开微信

from appium import webdriver

desired_caps = {
   
  'platformName': 'Android',
  'deviceName': '7aaab36a',
  'platformVersion': '10',
  'appPackage': 'com.tencent.mm',
  'appActivity': 'com.tencent.mm.ui.LauncherUI'
 }

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

其中deviceName通过adb devices获得,platformVersion通过adb shell getprop ro.build.version.release获得安卓系统版本号。

//未完待补充

问题及解决

使用uiautomator遇到的bug

bad uiautomator

org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Command failed: C:\Windows\system32\cmd.exe /s /c "D:\android\android-sdk-windows\platform-tools\adb.exe -s 30836ece shell "ps 'uiautomator'""
ps: bad uiautomator

原因:可能是Android版本原因,一些命令语法不支持。

解决方法

参考了https://blog.csdn.net/pjl6523853/article/details/72886048。

  1. 找到appium的安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib

  2. 找到abd.js,找到如下代码:

    ADB.prototype.shell = function (cmd, cb) {
         
      if (cmd.indexOf('"') === -1) {
         
        cmd = '"' + cmd + '"';
      }
      var execCmd = 'shell ' + cmd;
      this.exec(execCmd, cb);
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值