gpt4 book ai didi

java - 如何使用 Selenium 在文本区域中输入制表符?

转载 作者:行者123 更新时间:2023-12-01 11:29:31 27 4
gpt4 key购买 nike

我正在使用 Selenium Web 驱动程序(Java、Chrome 浏览器)。我想在文本区域中输入制表符。默认情况下,输入制表符会导致下一个输入获得焦点,但我实际上希望将制表符打印到 textarea 输入中。

由于我的测试是在 Windows 机器上运行的,所以我想我可以使用 alt 代码进入选项卡。浏览器

  1. 按住alt
  2. 按 0
  3. 按 9
  4. 发布替代

但我不确定如何使用 WebDriver 以编程方式执行此操作。我尝试了以下方法:

WebElement myTextArea = driver.findElement(By.cssSelector("form textarea"));

myTextArea.sendKeys("before_tab", Keys.chord(Keys.ALT, Keys.NUMPAD0, Keys.NUMPAD9), "after_tab");

...但它只是将“before_tabafter_tab”打印到文本区域,我猜是因为它同时按下了 ALT、0 和 9,这不会转换为可打印字符。

我还会考虑通过键盘快捷键或上下文菜单进行粘贴(这实际上更接近我期望用户在文本区域中输入文本的方式),但我不知道如何粘贴将文本复制到剪贴板上,供 selenium 驱动的浏览器访问。

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用以下Java代码:

Robot rb = new Robot();

StringSelection textToPaste= new StringSelection(" ");//make sure u enter tab here

Toolkit.getDefaultToolkit().getSystemClipboard().setContents(textToPaste, null);

rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);

关于java - 如何使用 Selenium 在文本区域中输入制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30525686/

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