【发布时间】:2015-07-22 22:20:04
【问题描述】:
问题:如何使用 SendKeys() 或类似的东西在字段中继续编辑而不删除现有内容。
我在 C# 中使用 Selenium Webdriver。我正在尝试自动化这种类型的对话框(如下所示),您可以在其中一个接一个地进行多项选择。我可以使用driver.[some_selector].SendKeys("Blueberry"); 轻松选择第一个条目
此时焦点在下一个字段。我发送了一个 shift-tab 来让焦点回到这个对话框中,光标紧跟在第一个选择之后。但是每次使用 .SendKeys() 都会替换输入框的内容,所以我永远无法实现多个选择。
作为测试,我也尝试过类似 .SendKeys(firstField+Keys.Enter+secondField) 的方法,但无济于事。
是否使用了 SendKeys() 或替代方法,可以继续在填充的字段中输入但不保留现有内容?还是输入后不离开当前字段?
(如果有兴趣,我相信这是一个有角度的 ui-select2 组件)
【问题讨论】:
-
不确定您的场景,但如果您的目标是保留您已经输入的内容并想要输入更多内容,您只需 gettext() 存储并附加到下一个 SendKeys() 中。
-
感谢您的回复,但在这种情况下不起作用。我希望屏幕截图能提供上下文,但您必须输入一些字符,选择一个选项,输入更多字符,选择第二个选项等。例如,我不能一次性选择蓝莓、柠檬、芒果。
-
示例 html 会有所帮助。你考虑过使用 jQuery 吗?
-
lloyd - 它基本上是一个选择选项对话框,但 select2 是一个角度包装的 jquery 插件 (github.com/angular-ui/ui-select2),因此在这种情况下很难实现“示例 html”。理想的是一个活生生的例子,但我可能无法提供。如果需要,我可以使用 jquery。你有什么想法?理想情况下,我想了解 SendKeys() 或 WebDriver 中的其他内容有什么可能。感谢您的回复。