app爬虫appium获取借贷宝,无忧等等(配置文件)

本文介绍了使用Appium进行app爬虫的实践,尤其是如何通过Appium服务器多开实现多线程控制不同应用。内容包括Appium的模块和函数封装,检查端口占用,启动Appium服务器,以及在App中的各种操作,如等待元素显示、输入验证、密码输入、页面源码查看等。由于Appium在模拟器上的效果不佳,建议使用真机。同时,对于无法点击的元素,使用adb发送tap命令模拟点击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先了由于本文并不是走的api破解或是apk逆向的路子,所以各位勿喷。其次经过验证appium加上模拟器的路子不太好除非你用真机做的(这类需求做游戏项目之内可以试试),当然可能是我没get到正确的姿势。最后本文由于幅度太长会分开两篇。本文是appium服务器多开,多线程控制不同app。。。。

#主配置篇#appium分装的函数
1模块

import selenium.webdriver.support.ui as ui
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from appium.webdriver.common.touch_action import TouchAction
import sys
import socket
import subprocess
import os
sys.path.append(os.path)

2函数#自己随便构建一个类class
2.1#检查端口占用

    #检查端口占用
    def isOpen(self,ip, port):
        """
        本函数主要是检测本地开启的cmd有没有被占用,使用appium的端口,就是检测appium的server是否被占用,占用返回端口号,未被占用返回FALSE
        :param ip: 由于appium在本地本片中是127.0.0.1,当然这个函数可以通用
        :param port:当前开启的cmd窗口占用的端口
        :return:返回被占用的端口号,或false
        """
        #创建套接字,绑定套接字到本地IP与端口
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            s.connect((ip, int(port)))#尝试连接ip,和端口,连接失败报错,只有在cmd中存在该端口的情况下才能联通
            s.shutdown(2)  # 0代表禁止下次的数据读取;1代表禁止下次的数据写入;2代表禁止下次的数据读取和写入
            print('%d 被占用' % port)
            return port
        except Exception:
            return False
            # 开启appium服务

关于socket点这
2.2#检测之后在未被占用的cmd中开启appium server

	#开启appium server
    def appium_start(self, host, port):
        bootstrap_port = str(port + 1)#port自动加1,批量开启的情况下
        # /b是不打开cmd
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值