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

基于Python脚本测试:如何通过ADB在Android Chrome执行含搜索提供商的搜索?

在Chrome中通过ADB执行指定搜索提供商的搜索操作

嘿,我来帮你搞定这个需求!你已经能通过ADB启动Chrome新标签了,要实现指定搜索提供商的搜索其实有几种实用的方法,我给你逐一拆解:

方法1:直接打开搜索提供商的搜索URL(最可靠)

这种方式最直接,不需要依赖Chrome的默认设置,直接构造对应搜索提供商的搜索链接,通过ADB的am start命令传递给Chrome,打开后就会自动执行搜索。

比如用Google搜索“android adb python测试”:

adb shell am start -n com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity -d "https://www.google.com/search?q=android+adb+python%E6%B5%8B%E8%AF%95" --activity-clear-task

用百度搜索同样关键词:

adb shell am start -n com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity -d "https://www.baidu.com/s?wd=android+adb+python%E6%B5%8B%E8%AF%95" --activity-clear-task

小提示:如果搜索关键词里有空格、中文或特殊字符,记得做URL编码(比如空格用%20,中文转成UTF-8编码),避免命令执行出错。

方法2:模拟用户输入搜索(适合模拟真实操作)

如果你想模拟用户在Chrome地址栏输入关键词并触发搜索的真实流程,可以分三步操作:

  1. 先打开Chrome新标签(用你已有的命令):
adb shell am start -n com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity -d "about:newtab" --activity-clear-task
  1. 等待Chrome加载完成(脚本里可以加个延时,比如time.sleep(2)),然后输入搜索关键词:
adb shell input text "android adb python测试"
  1. 触发搜索(按下回车键):
adb shell input keyevent 66  # KEYCODE_ENTER的键值是66

注意:这种方式会使用Chrome当前设置的默认搜索提供商,如果要指定非默认的,还是方法1更稳妥。

方法3:使用系统WEB_SEARCH Intent

你也可以通过系统的ACTION_WEB_SEARCH Intent来触发搜索,指定Chrome作为处理应用:

adb shell am start -a android.intent.action.WEB_SEARCH -n com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity --es query "android adb python测试"

不过这种方式同样依赖Chrome的默认搜索提供商,灵活性不如方法1。

脚本集成提示

如果是在Python脚本里执行这些操作,直接用subprocess模块调用ADB命令就行,比如:

import subprocess
import time

# 方法1的Python实现
subprocess.run([
    'adb', 'shell', 'am', 'start',
    '-n', 'com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity',
    '-d', 'https://www.google.com/search?q=android+adb+python%E6%B5%8B%E8%AF%95',
    '--activity-clear-task'
])

# 方法2的Python实现
subprocess.run([
    'adb', 'shell', 'am', 'start',
    '-n', 'com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity',
    '-d', 'about:newtab',
    '--activity-clear-task'
])
time.sleep(2)
subprocess.run(['adb', 'shell', 'input', 'text', 'android adb python测试'])
subprocess.run(['adb', 'shell', 'input', 'keyevent', '66'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:02:37