我是靠谱客的博主 风中小白菜,这篇文章主要介绍点击指定控件的某个位置,现在分享给大家,希望可以做个参考。

今天遇到一个问题,想要点击某个控件的某个位置(左上,左下,右上,右下,中间),稍微做了封装,具体代码如下,有不妥欢迎指出:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/** * 单个手指,点击屏幕某个控件位置(左上,左下,右上,右下,中间) */ public enum Location { UPLEFT, LOWLEFT, UPRIGHT, LOWRIGHT, CENTRE } /** * 点击控件某个地方 * * @param step * @param by * @param location */ public void clickControl(String step, By by, Location location) { log.info(step); // 获取控件开始位置的坐标轴 Point start = this.findElement(driver, by).getLocation(); int startX = start.x; int startY = start.y; // 获取控件坐标轴差 Dimension q = this.findElement(driver,by).getSize(); int x = q.getWidth(); int y = q.getHeight(); // 计算出控件结束坐标 int endX = x + startX; int endY = y + startY; switch (location) { // 左上 点击 case UPLEFT: driver.tap(1, startX + 10, startY + 10, 100); TaquTools.sleep(2); break; // 右上 点击 case UPRIGHT: driver.tap(1, endX - 10, startY + 10, 100); TaquTools.sleep(2); break; // 左下 点击 case LOWLEFT: driver.tap(1, startX + 10, endY - 10, 100); TaquTools.sleep(2); break; // 右下 点击 case LOWRIGHT: driver.tap(1, endX - 10, endY - 10, 100); TaquTools.sleep(2); break; // 中间 点击 case CENTRE: driver.tap(1, (endX + startX) / 2, (endY + startY) / 2, 100); TaquTools.sleep(2); break; } }
喜欢 二维码

最后

以上就是风中小白菜最近收集整理的关于点击指定控件的某个位置的全部内容,更多相关点击指定控件内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部