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

如何通过adb在Android设备的Chrome上运行Selenium WebDriver?

操控adb连接的Android Chrome浏览器(Selenium Python)

关键要点

你不需要Selenium Grid,用Remote WebDriver配合Chrome的远程调试功能就足够了。你提到的类似gdb-server的WebDriver等价工具,其实就是Chrome内置的远程调试端口——它允许外部工具(比如ChromeDriver、Selenium)连接并控制浏览器,和gdb-server给程序开调试端口的逻辑一致。

具体实现步骤

1. 前置检查

  • 电脑安装的ChromeDriver版本必须和手机Chrome的大版本匹配(比如Chrome 119对应ChromeDriver 119,版本不匹配会直接报错)
  • 手机开启USB调试,通过adb devices命令确认设备已成功连接到电脑

2. 映射Chrome远程调试端口

在终端执行adb端口转发命令,把手机上Chrome的调试端口映射到电脑本地端口(这里以9222为例):

adb forward tcp:9222 localabstract:chrome_devtools_remote

这条命令的作用是将手机Chrome的调试入口(chrome_devtools_remote)暴露到电脑的9222端口,相当于给Chrome开了一个可远程控制的通道。

3. Python代码示例

用Remote WebDriver连接到转发后的端口,即可像操控本地浏览器一样控制手机Chrome:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置Chrome选项,指定调试地址
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

# 初始化Remote WebDriver
driver = webdriver.Remote(
    command_executor="http://localhost:9222",
    options=chrome_options
)

# 执行需要的操作,用法和本地浏览器完全一致
driver.get("https://example.com")
print(driver.title)

# 关闭连接
driver.quit()

额外说明

  • Selenium Grid适用于多设备并行测试、分布式测试场景,单设备调试完全没必要使用。
  • 另一种方式是直接给手机Chrome添加--remote-debugging-port=9222启动参数,但需要root权限或通过adb shell启动Chrome,操作比端口转发复杂,不推荐新手使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:50:30