如何在不使用剪贴板或操作的情况下将字符串中的“ \ t”或“ tab”发送到Selenium中的文本框中CTRL + C,CTRL + V

问题描述

我有一个像这样的字符串。

String inputString="This\tis\ta\tString";
Webelement inputbox=inputBoxXpath;
inputbox.sendKeys(inputString);

上面代码的问题是它发送'This'然后\ t被认为是一个按键TAB,然后将焦点移到下一个元素。

为避免我正在使用剪贴板方式,并且只要应用程序处于焦点位置,它就可以完美地工作。

//Partial solution
StringSelection selection = new StringSelection(inputString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection,selection);
inputbox.click()
send_keys("CTRL+V") // Paste the string in clipboard.

但是,此方法有效,当程序运行时,我将其他内容复制到剪贴板时,inputString被剪贴板的内容替换。

如果我想在服务器VM上运行代码,这也会导致问题

我也尝试过Actions发送密钥,但是输出仍然有问题。

我正在寻找一种使用本机sendKeys('string')的方式,其中string包含\ t和\ n,而不使用CTRL + C和CTRL + V或getCLipboard和setClipboard。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)