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

Appium Java:如何在AndroidDriver中替代TouchAction实现屏幕定点点击?

在Appium Java 8.5.1中实现指定坐标点击的解决方案

在Appium Java客户端8.x版本中,旧的TouchAction和PerformsTouchAction已被彻底移除,转而采用W3C标准的WebDriver动作API。以下是两种实现指定(x,y)坐标点击的可行方案:

方案一:使用Actions结合TapOptions

这是最简洁的实现方式,通过Actions类封装点击动作,配合TapOptions指定坐标:

// 将WebDriver实例转换为AppiumDriver(Actions依赖AppiumDriver的扩展能力)
AppiumDriver driver = (AppiumDriver) theDriver;

// 初始化Actions对象
Actions actions = new Actions(driver);

// 构造点击选项,设置目标坐标(替换x和y为你的实际坐标值)
TapOptions tapOptions = TapOptions.tapOptions().withPosition(PointOption.point(x, y));

// 执行点击动作
actions.tap(tapOptions).perform();

所需导入包

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.touch.TapOptions;
import io.appium.java_client.touch.offset.PointOption;
import org.openqa.selenium.interactions.Actions;

方案二:使用PointerInput和Sequence(底层W3C API)

如果需要更精细的控制动作时序,可以直接使用W3C标准的PointerInput和Sequence来构建触摸动作序列:

AppiumDriver driver = (AppiumDriver) theDriver;

// 创建触摸输入设备实例
PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger");

// 创建动作序列
Sequence tapSequence = new Sequence(finger, 1);

// 添加动作步骤:移动到目标坐标 → 按下 → 短暂停留 → 抬起
tapSequence.addAction(finger.createPointerMove(Duration.ZERO, PointerInput.Origin.viewport(), x, y));
tapSequence.addAction(finger.createPointerDown(PointerInput.MouseButton.LEFT.asArg()));
tapSequence.addAction(finger.createPointerMove(Duration.ofMillis(100), PointerInput.Origin.viewport(), x, y));
tapSequence.addAction(finger.createPointerUp(PointerInput.MouseButton.LEFT.asArg()));

// 执行动作序列
driver.perform(List.of(tapSequence));

所需导入包

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.interactions.PointerInput;
import org.openqa.selenium.interactions.Sequence;
import java.time.Duration;
import java.util.List;

关键说明

  • 必须将WebDriver强转为AppiumDriver,因为只有AppiumDriver才支持W3C动作API的扩展实现。
  • 两种方案都兼容Appium Java客户端8.5.1和Selenium 4.10.0版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:11:00