无法使用Selenium脚本输入完整值,只有一半的值传递到该字段中

时间:2018-07-02 13:09:23

标签: java selenium selenium-webdriver automation webdriver

我试图将文本输入“不可选择的行”,有时它仅输入文本的一半(无法输入前几个字符)

例如: 如果我尝试输入“ qqwwssagsdafdsagdfgafgafdahdghjagds”文本,则有时只接受最后几个字符,即fgafdahdghjagds。

我尝试输入值的元素的HTML代码:

HTML:

<div id="ext-comp-1002" class="x-layer x-editor x-small-editor x-grid-editor" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; overflow: auto; width: 238px;">
<input id="mltprcrtmain-1" class=" x-form-text x-form-field x-form-fieldui x-form-field-text " type="edit" name="mltprcrtmain-1" autocomplete="off" size="20" style="width: 238px;" maxlength="32">

我曾经在不可选择的行(即行)中传递值的脚本:

代码:

Actions act = new Actions(driver);
act.moveToElement(driver.findElement(By.id(genericHandlingExcel.getdata(FilePath, Sheetname2, 66,2)))).click(); 
act.sendKeys(genericHandlingExcel.getdata(FilePath, Sheetname2, 66,3)); 
Thread.sleep(5000);
act.sendKeys(Keys.ENTER);

2 个答案:

答案 0 :(得分:1)

根据您输入的HTML,您输入的文本框大小为20,最多可支持32个字符。因此,我们最多只能输入32个字符,并且在UI中只能看到几个字符(将显示20个字符,并且可以根据课程中提到的属性进行更改。

您正在尝试输入35个字符的文本,因此可能无法正确输入几个字符

我建议手动验证输入的字符,并通过手动输入相同的字符来确保相同的字符。

答案 1 :(得分:0)

单击后尝试在代码中添加一个小暂停:

Actions act = new Actions(driver); 
act.moveToElement(driver.findElement(By.id(genericHandlingExcel.getdata(FilePath, Sheetname2, 66,2)))).click();
Thread.sleep(2000); // add a small pause after click
act.sendKeys(genericHandlingExcel.getdata(FilePath, Sheetname2, 66,3)); 
Thread.sleep(5000); 
act.sendKeys(Keys.ENTER);