在安卓上使用qpython爬javascript动态网页,发现pyppeteer会访问不了chrome。本来pyppeteer会在user data 0里面安装chrome,我以为是user data 0访问权限不够。结果我弄了一个chrome-linux在download文件夹,说也permission error,deepseek的意见是安卓有沙盒机制,qpython访问不了本应用之外的文件,那user data 0也不行啊。。。有没有大神带带我
4条回答 默认 最新
阿里嘎多学长 2025-02-27 16:02关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解答
Pyppeteer在安卓上无法使用的原因可能是因为安卓系统的安全限制和 Chrome 的用户数据目录问题。
在安卓上,Pyppeteer无法访问 Chrome 的用户数据目录(
~/.config/google-chrome/Default),这使得 Pyppeteer 无法正确地安装 Chrome。解决方法:
- 使用
puppeteer.launch()方法时,添加args参数,指定 Chrome 的用户数据目录。例如:
import puppeteer args = ['--user-data-dir=/data/user/0/com.google.android.apps.chrome'] browser = puppeteer.launch(args=args)- 使用
puppeteer.connect()方法连接到已经存在的 Chrome 进程。例如:
import puppeteer browser = puppeteer.connect({ 'browserWSEndpoint': 'ws://localhost:9222' })- 使用
puppeteer.launch()方法时,添加headless参数,指定 Chrome 不要在桌面上显示。例如:
import puppeteer browser = puppeteer.launch(headless=True)- 在安卓上,使用
puppeteer库时,需要在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />- 在使用
puppeteer库时,需要在build.gradle文件中添加以下依赖项:
dependencies { implementation 'com.google.code.gson:gson:2.8.6' implementation 'org.json:json:20210307' }这些方法可以帮助你在安卓上使用 Pyppeteer。
解决 无用评论 打赏 举报- 使用