我试图将文本输入“不可选择的行”,有时它仅输入文本的一半(无法输入前几个字符)
例如: 如果我尝试输入“ 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);
答案 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);