Selenium WebDriver sendKeys()不使用oncopy,onpaste javascript事件

时间:2013-12-09 05:43:37

标签: java selenium javascript-events selenium-webdriver

Html代码

<input type="text" class="input-txt" data-bind="value: Email,qtipValMessage:Email" id="txtEmail" maxlength="160" oncopy="return false" onpaste="return false" title="Please enter the Email" data-orig-title="">

我的Java代码

WebElement email = driver.findElement(By.id("txtEmail"));
new Actions(driver).moveToElement(email).perform();
email.clear();
email.sendKeys("xyz@xyz.com");

在执行我的代码时,它提供了一条错误消息“元素当前不可交互,可能无法操纵”

因为html代码用“oncopy”和“onpaste”标签映射(返回false),所以sendKeys()在执行期间失败

请帮助我们如何传递此字段中的值

1 个答案:

答案 0 :(得分:0)

常规Selenium api具有“设定值”方法。我不记得它,但如果你找不到它,你可以随时使用JavascriptExecutor作为解决方法:

WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementByID('elID').setAttribute('value', val )");