gpt4 book ai didi

javascript - Key.chord 还是 ActionSequence?

转载 作者:行者123 更新时间:2023-11-27 23:20:13 24 4
gpt4 key购买 nike

我需要模拟按 CTRL + CCTRL + V 等。 Selenium 为我们提供了两种方法:webdriver.Key.chord(var_args),示例:

webdriver.Key.chord(webdriver.Key.CONTROL, 'c')

和类ActionSequence,示例:

new webdriver.ActionSequence(driver).keyDown(webdriver.Key.CONTROL)
.sendKeys('с')
.keyUp(webdriver.Key.CONTROL);
action.perform();

哪种方式更好,为什么?

最佳答案

首先,webdriver.Key.chord 不会发送任何事件,它只是 appends the arguments并在末尾添加 NULL。根据代码:

Note: when the low-level webdriver key handlers see Keys.NULL, active modifier keys (CTRL/ALT/SHIFT/etc) release via a keyup event.

因此,假设您将结果字符串传递给 elem.sendKeys(),您最终会得到:

 sendKeys: Ctrl-c
keyUp: Ctrl

相比之下,在您的示例中使用 Actions API,您将得到:

 explicit keyDown: Ctrl // *Not* released
sendKeys: c
explicit keyUp: Ctrl // Note original edit had 'keyDown'

这应该给出完全相同相同的结果。

我确信 webdriver.Key.chord 是表达修饰键使用的更自然的方式,无需任何人考虑按下或按下按键,并且易用性至关重要。即使“性能”略有不同,这种差异也不值得考虑。

关于javascript - Key.chord 还是 ActionSequence?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com