首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sendKeys()对我的一个输入文件无效

sendKeys()对我的一个输入文件无效
EN

Stack Overflow用户
提问于 2015-06-12 00:03:32
回答 3查看 8K关注 0票数 1

我在表单中有两个输入字段,它们的来源如下所示

代码语言:javascript
运行
复制
<input class="col8 last right i-f ssn" data-val="true" data-val-regex="Please enter valid SSN number" data-val-regex-pattern="^((\d{3}-\d{2}-\d{4}|X{3}-X{2}-X{4}))$" id="SSN" name="SSN" type="text" value="" />

<input class="col8 last right i-f" id="MiddleName" maxlength="15" name="MiddleName" onkeypress="return isAlphabetKey(event)" type="text" value="" />

我正在尝试使用selenium web driver (Firefox)中的以下命令发送输入

代码语言:javascript
运行
复制
driver.findElement(By.cssSelector("input[id='SSN']")).sendKeys("55555");
driver.findElement(By.cssSelector("input[id='MiddleName']")).sendKeys("xyz");

对于第一个字段,我在TestNG下运行时没有出现错误,但是第二个字段工作正常,为了方便起见,我已经包含了两个输入字段的页面源代码。

EN

回答 3

Stack Overflow用户

发布于 2015-06-12 04:48:41

可能的解决方案1:执行对sendKeys()的javascript调用正如您所说的,很可能是文本框的格式不允许您对输入框执行sendKeys()。原因可能只是WebDriver处理将输入放入框中的方式。我建议尝试使用javascript来执行不同类型的输入填充方法。

代码语言:javascript
运行
复制
WebDriver driver = new FirefoxDriver();

JavascriptExecutor executor = (JavascriptExecutor)driver;

executor.executeScript("document.getElementById("SSN").value='55555';);

可能的解决方案2:https://github.com/dsheiko/autofill

我没有一个很好的代码片段可以展示给你使用autofill,但是github本身有非常好的例子。

可能的解决方案3:删除输入标记的格式化属性,然后使用sendKeys()

代码语言:javascript
运行
复制
((JavascriptExecutor) driver).executeScript("document.getElementsByID('SSN'[0].removeAttribute('data-val-regex-pattern');");
    WebElement input= driver.findElement(By.id("SSN"));
    input.clear();
    input.sendKeys("55555");
票数 6
EN

Stack Overflow用户

发布于 2015-06-12 22:59:24

如果在文本字段上有任何JQuery实现,则selenium的sendKey()将不起作用,您必须使用以下代码片段

代码语言:javascript
运行
复制
JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("document.getElementById('field_id').value = 'field_val';");
票数 2
EN

Stack Overflow用户

发布于 2015-06-13 00:18:31

只需删除格式化输入标记的属性。然后,您可以只使用SendKeys()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30785881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档