You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Android的Pydroid3中运行Selenium操控Chrome报错求助

解决安卓Pydroid3中Selenium操控Chrome的问题

核心问题分析

你下载的chromedriver_linux64.zip是x86_64架构版本,而三星S10采用ARM64(aarch64)架构,驱动与设备不兼容导致启动失败,进而触发Service对象的属性错误。同时安卓环境下Chrome的启动需要补充特定配置参数。

解决步骤

1. 替换为ARM64架构的ChromeDriver

下载与你的Chrome版本(108.0.5359.128)匹配的ARM64版本ChromeDriver,解压后将chromedriver文件放到脚本同目录,确保Pydroid3能读取该文件。

2. 修正脚本配置

使用以下适配安卓环境的脚本,补充必要参数并确保驱动权限正常:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import os

# 获取chromedriver路径
path_to_chromedriver = os.path.join(os.path.dirname(__file__), 'chromedriver')
# 给驱动添加可执行权限(安卓环境必需)
os.chmod(path_to_chromedriver, 0o755)

print('path_to_chromedriver: ', path_to_chromedriver)

options = webdriver.ChromeOptions()
# 指定安卓Chrome包名
options.add_experimental_option('androidPackage', 'com.android.chrome')
# 复用已运行的Chrome实例
options.add_experimental_option('androidUseRunningApp', True)
# 禁用沙箱模式(安卓环境必需)
options.add_argument('--no-sandbox')
# 禁用GPU加速(部分设备需此参数)
options.add_argument('--disable-gpu')

service = Service(path_to_chromedriver)
driver = webdriver.Chrome(service=service, options=options)

try:
    driver.get('https://google.com')
    # 在此添加你的业务操作逻辑
finally:
    driver.quit()

3. 配置Chrome调试权限

  • 打开手机Chrome,访问chrome://flags,找到Enable remote debugging选项,设置为Enabled后重启Chrome
  • 确保脚本运行时Chrome处于后台或前台运行状态,避免被系统杀死

替代方案:改用Kiwi浏览器

如果Chrome仍无法正常配合运行,可尝试兼容性更好的Kiwi浏览器:

  1. 安装Kiwi浏览器,获取其包名com.kiwibrowser.browser
  2. 下载对应版本的ARM64 ChromeDriver
  3. 将脚本中的androidPackage参数改为com.kiwibrowser.browser,其余配置不变

排查要点

  • 若出现权限错误:在Pydroid3设置中开启存储权限和后台运行权限
  • 若驱动启动失败:通过Pydroid3终端执行file chromedriver,确认输出包含aarch64,验证驱动架构是否匹配

内容的提问来源于stack exchange,提问作者Fobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:05:25