selenium webdriver - 填满一张桌子

问题描述 投票:0回答:1

我有一个表(7列×6行),其中第7列是每行中1-6个单元格的总和。

我必须填写整个表,我只使用sequence:driver.findElement ...,element.click(); element.sendKeys(“严格数值”);

问题是,有时(cca 1/3运行)总计列中的单元格计算不正确(或根本不计算事件)。在手动填写表格时,所有总数都是正确的。在单元格1到6中输入一些值并进行任何单击后计算总数。我在每行输入第六个值后添加了一个额外的点击,但没有成功。

我也尝试在总细胞上显式等待预期条件,错误在超时后仍然存在。甚至Thread.sleep(1000);在输入第六个值之后没有解决问题。任何想法,如何填写表格并获得正确的总数?谢谢

java selenium-webdriver
1个回答
0
投票

我有点绝望,从一开始就开始了。然后想通了我不需要点击单元格来填充它(在html源代码中进行了一些更改之前没有工作)。所以我把我的代码减少到了这个:

WebElement L3_C1 = driver.findElement(By.xpath("//input[contains(@class,'cell A1_Number_Of_Foos')]"));
L3_C1.sendKeys("3,00");
WebElement L3_C2 = driver.findElement(By.xpath("//input[contains(@class,'cell A2_Number_Of_Foos')]"));
L3_C2.sendKeys("3,00");
WebElement L3_C3 = ... etc.

接下来我构建填充所有单元格:

String[] rowId_DaP = {A BUNCH OF XPATHS};
private WebElement FE_DaP(String rowId_DaP) {return driver.findElement(By.xpath("//input[contains(@class,'rowId_DaP')]"));}
for (String rowId_DaP: rowId_DaP) {WebElement cell = FE_DaP(rowId_DaP);cell.sendKeys("3,00");

所有总数在100%运行中都是正确的,测试甚至更快。

一个简单的结论:除非确实有必要,否则不要执行任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.