【发布时间】:2023-04-05 22:58:01
【问题描述】:
我的项目中有这个 GUI(请耐心等待我的插图,我不允许在工作中截屏)
----------------------------------------------
(1) Header |
----------------------------------------------|
(2) Files | (3) | Drop-down button (Options)
----------------------------------------|-----|
| |
----------------------------------------|-----|
| |
----------------------------------------|-----|
| |
-----------------------------------------------
我需要在我们的产品支持的每种文件类型中测试一个文件。 最终目标是使用 (3) 下拉按钮。 这是我在这部分时的代码摘要
find_filetype = find.imagedict(filetypeicon.png) #(2) filetype
freg = find_filetype.right()
if freg.exists(drop-down.png): #(3) drop-down icon
freg.click(drop-down.png)
现在点击 (3) 后,将出现一个包含 4 个操作项的下拉菜单。 因此,例如,如果我单击 (3a):它将出现在 (3b - 3d) 下方,显示至少 2-3 个下拉项。
----------------------------------------------
Header |
----------------------------------------------|
| (3a)|
----------------------------------------------|
| (a1) | | #a1 = action 1
--------------------------------|---------|---|
| (a2) | | #a2 = action 2
--------------------------------|---------|---|
|__(a3)___| |
-----------------------------------------------
如果我点击 (3c): 下拉菜单会选择出现在上方(f.a.d.) 显示至少 2 个下拉项。
----------------------------------------------
Header |
----------------------------------------------|
| (a1) | |
--------------------------------|---------|---|
| (a2) | |
--------------------------------|_________|---|
| (3c)|
----------------------------------------|-----|
| |
----------------------------------------------
我的解决方法是:
截屏所有操作项和
if/elifs + dragDrop()
这使我的脚本慢 (我每天执行数百次迭代)
有没有办法可以找到 (a1)(因为它在单击 (3) 后始终存在),保存它的坐标并将其用作这样的 scrolldown_codes 的参数
#after clicking drop-down
#find and get (action1) coordinates
def scroll_down(coordinates): #pass it here
while not exist(action(n).png): #n = action choice
end_Y = coordinates
start_Y = coodinates - few_Y
dragdrop(start_Y, end_Y)
wait(1)
click(action(n).png)
请帮帮我!欢迎提出任何有用的建议!
注意:我只允许在该 GUI 上单击和拖动,因为它是我们正在开发的触摸屏产品。
【问题讨论】:
-
您在这里的最终目标是什么?您需要查看这些菜单项吗?与他们互动?确保它们存在?
-
顺便说一句,这里很好地描述了这个问题,没有使用截图!
-
谢谢!我想通过滚动与下拉菜单进行交互!单击那个 (4) 按钮后有 4 个菜单项,并且(因为我们有一个 4.3 英寸的 ui 面板)大多数时候,只出现 2-3 个菜单项。我想选择第 4 个菜单项,但我无法通过硬编码区域向下滚动,因为它要么在 (4) 按钮上方/下方弹出。
-
@EugeneS 我发现我的评论也令人困惑。 (a1) 在单击 (4) 后始终存在,因此我想保存 (a1) 的坐标并将其用作将光标指向 (a1) 下面几个像素的参考。所以代码看起来就像我在上面编辑的那样。 *scroll_down()
-
你的描述很好。请看看我的回答,如果有帮助,请告诉我。
标签: python sikuli sikuli-script