IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 爬虫 移动端开发(四) -> 正文阅读

[Python知识库]python 爬虫 移动端开发(四)

一、 appium-python-client使用

1.1 安装appium-python-client模块

pip install appium-python-client

1.2 初始化以及获取移动设备分辨率

from appium import webdriver

# 初始化配置,设置Desired Capabilities参数
desired = {
  "platformName": "Android",
  "appPackage": "com.jingdong.app.mall",
  "appActivity": "com.jingdong.app.mall.MainFrameActivity",
  "platformVersion": "5.1.1",
  "deviceName": "OPPO R11 Plus"
}
# 指定Appium Server
server = 'http://localhost:4723/wd/hub'
# 新建一个driver
driver = webdriver.Remote(server, desired)
# 获取模拟器/手机的分辨率(px)
width = driver.get_window_size()['width']
height = driver.get_window_size()['height']
print(width, height)
  • 移动设备分辨率

    • driver.get_window_size()['width']

    • driver.get_window_size()['height']

1.3 获取标签

通过APPium获取xpath, 根据selenium用法开发即可

find_element_by_id
find_elements_by_id
find_element_by_xpath
find_elements_by_xpath

1.4 获取内容

element.text

1.5 appium 文档

Appium-Python-Client · PyPI

1.6 实战(python操作Appium)

注意:程序运行是先把Appium和模拟器运行

第一步导入 模块?

from appium import webdriver  # 没有该模块的请 安装  pip install appium-python-client

第二部? 配置连接设备和相应的服务

server = 'http://localhost:4723/wd/hub'   # 端口号 可看下图

?第三步 配置参数 (如下图)

desired ={
  "platformName": "Android",
  "platformVersion": "5.1.1",
  "deviceName": "OPPO R11 Plus",
  "appPackage": "com.android.browser",
  "appActivity": "com.android.browser.BrowserActivity"
}

?

?第四步 创建模拟器

driver = webdriver.Remote(server,desired)  

?注意:webdriver.Remote(server,desired) 这两个参数是第二步第三步里面的

第五步:测试? ?运行程序 模拟器上面的浏览器会自动打开

第六步:锁定元素

运行Appium?

?

把xpath复制到我们写的代码里面

#输入内容
input_xpath ='/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[3]/android.view.View/android.widget.EditText'
# 定位元素
input = driver.find_element_by_xpath(input_xpath)
# 在定位的元素里 写上内容
input.send_keys('音乐')
# 点按钮
button_xpath ='/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[3]/android.view.View/android.widget.Button'
button = driver.find_element_by_xpath(button_xpath)
button.click()
# 注意 程序操作appium的时候把appium关掉 避免冲突

可能遇到的错误python操作Appium的时候出现的错误selenium.common.exceptions.NoSuchElementException: Message: An element could n_宠乖仪的博客-CSDN博客

?1.7 完整代码

from appium import webdriver
from time import sleep
server = 'http://localhost:4723/wd/hub'

desired ={
  "platformName": "Android",
  "platformVersion": "5.1.1",
  "deviceName": "OPPO R11 Plus",
  "appPackage": "com.android.browser",
  "appActivity": "com.android.browser.BrowserActivity"
}
#  创建模拟器
driver = webdriver.Remote(server,desired)

tmp_xpath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView'
tmp  = driver.find_element_by_xpath(tmp_xpath)
#输入内容
input_xpath ='/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[3]/android.view.View/android.widget.EditText'
# 定位元素
input = driver.find_element_by_xpath(input_xpath)
# 在定位的元素里 写上内容
input.send_keys('音乐')
sleep(1)
# 点按钮
button_xpath ='/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[3]/android.view.View/android.widget.Button'
button = driver.find_element_by_xpath(button_xpath)
sleep(1)
button.click()
# 注意 程序操作appium的时候把appium关掉 避免冲突

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:08:59  更:2021-10-21 12:11:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:26:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码