我需要按WINDOW + UpArrow。

第一次尝试时,我尝试使用sikuli通过:-

s1.type(Key.WIN + Key.UP);


但是它仅按WINDOW和UpArrow按钮,但要分别按。

通过硒我尝试了Actions类,但是我发现那里没有可用的按键来按下WINDOW按钮。

最佳答案

在sikuli中,如果要模拟按住一个按钮,然后键入另一个按钮,请使用type(TheKeyDoingTheAction, KeyModifier.TheKeyYoureHoldingDown,它的编写方式如下:

type(Key.UP, KeyModifier.WIN) #This is the one from your question


以下是一些其他常见示例:

type("c", KeyModifier.CTRL) #copies whatever is selected to the clipboard
type(Key.LEFT, KeyModifier.ALT) #goes back one page in most web browsers


以下是sikuli docs的摘录:

“如果需要多个键修饰符,可以使用“ +”或“ |”将修饰符常数组合到修饰符参数上。

type(Key.ESC, KeyModifier.CTRL + KeyModifier.ALT)
# or equivalent -
type(Key.ESC, KeyModifier.CTRL | KeyModifier.ALT)


仅应在带有type(),rightClick()等函数的修饰符参数中使用它们。
绝对不要将它们与keyDown()或keyUp()一起使用。”

09-11 18:57