我在前端有一个用dojo工具包制作的动态网格表。它有一个主div元素,其中包含3个div元素。 3个div是动态元素,只有当你在网格中向下滚动时才会加载。
3个元素中的每个元素最多包含25个元素
请建议我首先动态获取main元素中的所有div元素,然后迭代特定列的表。
下面是我试图将焦点放在表格中并滚动的代码。
WebElement tableClickFirstElement = table.findElement(By.xpath("//*[@id='dojox_grid__View_1']/div/div/div/div[1]/table/tbody/tr/td[6]"));
tableClickFirstElement.click();
bd.pause(3000);
for(int j=0; j<100;j++){
table.sendKeys(Keys.PAGE_DOWN);
bd.pause(300);
}
bd.pause(3000);
for(int j=0; j<125;j++){
table.sendKeys(Keys.PAGE_UP);
bd.pause(300);
}
bd.pause(3000);
下面是代码(上面的继续)我试图从我想要的表的列中获取值
if(table.findElement(By.xpath("//*[@id='dojox_grid__View_1']/div/div/div[1]")).isDisplayed()){
for(int a=1;a<=25;a++){
WebElement tableTwoColumn3 = table.findElement(By.xpath("//*[@id='dojox_grid__View_1']/div/div/div[1]/div["+a+"]/table/tbody/tr/td[3]"));
tableTwoColumn3.click();
bd.pause(2000);
String abc = tableTwoColumn3.getText();
WebElement tableTwoColumn6 = table.findElement(By.xpath("//*[@id='dojox_grid__View_1']/div/div/div[1]/div["+a+"]/table/tbody/tr/td[6]"));
tableTwoColumn6.click();
bd.pause(2000);
String cde = tableTwoColumn6.getText();
} }
获取值后,我将其与excel进行比较并按下网格外的其他按钮,然后通过单击网格中的下一行来获得焦点,如上所示。
我能够运行for循环只进行1次迭代,第二次迭代失败,并在字符串abc = tableTwoColumn3.getText();
上使用staleElemenentReferenceException我是硒的新手,所以我不确定我在哪里误会。