【发布时间】:2019-02-07 16:53:28
【问题描述】:
我有一个出现在单选按钮选择上的文本框,我必须以特定格式 (XYZ989898-99) 输入值。但是我无法通过使用在 selenium 中输入文本的常用方法来做到这一点。
与文本框相关的背景信息:
- 当用户单击“是”单选按钮时出现文本框。
- TextBox 具有默认值,因为 XYZ 已输入。
- SendKeys 也不会连接没有 XYZ 的文本。
- TextBox 位于焦点正确转移到的 Iframe 内。
- 代码没有失败,它只是一直点击文本框而没有输入任何内容。
方法一:
driver.findElement(locator).SendKeys("989898-99");
方法二:
driver.findElement(locator).clear();
driver.findElement(locator).SendKeys("XYZ989898-99");
方法三:
WebElement element = driver.findElement(locator);
Actions action1 = new Actions(driver);
action1.movetoElement(element).click().perform();
action1.sendKeys("XYZ989898-99");
HTML 示例:
<div class="value" ng-show="selectedValue" style="">
<label class="labelAboveTextBox">XYZ Number*</label>
<input type="text" class="Value" ng-model="XYZNumber" ng-
req="XYZNumber" xyz-input="" maxlength="12" style="value"
id="value" value="XYZ" required="required">
<!-- ngIf: invalidtspmessage -->
<span style="font-family: 'NeueHaasGroteskText';font-size:
0.7rem;color: black;">
Note: Enter XYZ is this format: XXXXXXXXX-XX
</span>
</div>
我想知道是否有任何其他方法可以用来解决这个问题,以及为什么上述方法不起作用。
【问题讨论】:
-
你能在这里分享html吗?
-
嘿@KajalKundu 在此处分享了 HTML 示例。 iframe 切换非常好,代码也可以单击/清除文本框。
-
你使用什么语言?
-
@kovid mehta,你能分享一下你用来发送文本的定位器吗?
-
嘿 @MosheSlavin 我在这里使用 Java 作为语言。
标签: selenium selenium-webdriver