概述

1、DrissionPage

DrissionPage 是一个基于 python 的网页自动化工具。
它既能控制浏览器,也能收发数据包,还能把两者合而为一。
可兼顾浏览器自动化的便利性和 requests 的高效率。
它功能强大,内置无数人性化设计和便捷功能。
它的语法简洁而优雅,代码量少,对新手友好。

2、远程调试手机浏览器

将手机与电脑用数据线连接,使用电脑的Chrome DevTools对手机上的浏览器(Chrome、Edge)进行调试

安装与使用

1、DrissionPage的安装

pip install DrissionPage

详细安装及使用请见DrissionPage官网

2、远程调试

远程调试需要打开”开发者模式”。如果你的手机已经打开,可以跳过这一步。

开发者模式的打开方法是,进入”设置 > 关于手机”菜单,找到”内部版本号”这一项(或类似名称的条目),在上面连续按七次。退回上一级菜单,应该就能看到”开发者模式”。

进入其中,打开”USB 调试”选项。

使用 USB 线将手机和电脑连接起来。

打开电脑Chrome浏览器,并进入chrome://inspect,并选择Discover USB devices,手机可能会提示是否允许USB调试,选择确认

在页面上可以看到已经连接到手机浏览器,并看到已经打开的页面,选择要调试的页签,点击inspect按钮,进入调试页面

3、使用ADB代理浏览器端口

如果你的电脑已经安装adb,可以忽略安装步骤

下载adb,链接:下载地址

使用命令行工具

# 验证连接
adb devices

# 设置端口转发
adb forward tcp:9222 localabstract:chrome_devtools_remote

更多adb使用请见文档,文档地址

连接并设置转发成功后,在浏览器访问http://localhost:9222/json,如果正常返回浏览器信息和打开页签信息,即为连接成功。

最后,使用DP连接手机浏览器。

使用.set_local_port(9222)设置连接到指定浏览器

from DrissionPage import ChromiumPage, ChromiumOptions

co = ChromiumOptions()
co.no_imgs()
co.set_local_port(9222)
page = ChromiumPage(co)

url = 'https://www.baidu'
page.get(url)

大功告成!!