Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势 | 您所在的位置:网站首页 › 小说爬取工具安卓下载 › Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势 |
在前文的讲解中,我们学会了如何安装Appium,以及一些基础获取App元素内容的方式。但认真看过前文的读者,肯定在博主获取元素的时候观察到了一个现象。 那就是手机App的内容并不是一次性加载出来的,比如大多数Android手机列表ListView,都是异步加载,也就是你滑动到那个位置,它才会显示出它的内容。
所以,我们要实战获取微博内容的话,首先你需要学会如何模拟滑动屏幕操作。下面,我们来一一介绍屏幕的互动操作。 屏幕滑动在Python的Appium-Python-Client包中,我们通过swipe()函数模拟用户手势从A滑动到B点,其具体的方法定义如下所示: def swipe(self: T, start_x: int, start_y: int, end_x: int, end_y: int, duration: int = 0) -> Tstart_x:开始位置的横坐标 start_y:开始位置的纵坐标 end_x:结束位置的横坐标 end_y:结束位置的纵坐标 duration:持续时间,也就是处于距离后生成滑动速度 当然,滑动的方法还有一个:flick(),它只有4个参数,缺少duration参数,也就是快速从某个位置滑动到指定的位置。 示例代码: from appium import webdriver import time server = "http://localhost:4723/wd/hub" desired_caps = { "platformName": "Android", "deviceName": "liyuanjing", "appPackage": "com.sina.weibo", "appActivity": "com.sina.weibo.MainTabActivity", } driver = webdriver.Remote(server, desired_caps) time.sleep(5) el1 = driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button") el1.click() time.sleep(5) driver.swipe(500,500,500,2000,3000)上面代码实现的下拉屏幕刷新功能,下拉刷新其实也是一个滑动的操作,是先滑动一段距离然后松开。 当然,如果你要实现上滑加载 |
CopyRight 2018-2019 实验室设备网 版权所有 |