如何使用 Sikuli 或 Selenium 同时按 [WINDOW] + [UpArrow] 键

Shu*_*ain 1 java selenium sikuli selenium-webdriver

我需要按WINDOW+ UpArrow。

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

s1.type(Key.WIN + Key.UP);
Run Code Online (Sandbox Code Playgroud)

但它只按WINDOW和UpArrow按钮,而且是分开的。

通过硒,我尝试过Actions课堂,但我发现那里没有可用于按下WINDOW按钮的键。

aut*_*rma 5

在 sikuli 中,如果你想模拟按住一个按钮,然后输入另一个按钮,请使用type(TheKeyDoingTheAction, KeyModifier.TheKeyYoureHoldingDown它的写法如下:

\n\n
type(Key.UP, KeyModifier.WIN) #This is the one from your question\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
type("c", KeyModifier.CTRL) #copies whatever is selected to the clipboard\ntype(Key.LEFT, KeyModifier.ALT) #goes back one page in most web browsers\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是sikuli 文档的摘录:

\n\n

如果需要多个键修饰符,可以使用 \xe2\x80\x9c+\xe2\x80\x9d 或 \xe2\x80\x9c|\xe2\x80\x9d 将修饰符常量组合到修饰符参数。

\n\n
type(Key.ESC, KeyModifier.CTRL + KeyModifier.ALT)\n# or equivalent -\ntype(Key.ESC, KeyModifier.CTRL | KeyModifier.ALT)\n
Run Code Online (Sandbox Code Playgroud)\n\n

它们只能在修饰符参数中与 type()、rightClick() 等函数一起使用。\n它们永远不应该与 keyDown() 或 keyUp() 一起使用。”

\n