0

如何制作一个循环来扫描一个矩阵并逐个输入数据并填写条目?循环填充数据输入 - Selenium WebDriver

该图显示了这个问题......我需要花费数次的方法,并从中获取数据并填写条目并遵循正常流程的自动化。

我可以在数据输入方法填写:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[1]")).sendKeys(offers()); 

我点击过滤器中的数据来填充它的TextArea:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[2]")).click(); 

请在文本区域的人口数据:

Select selecionapermanenciamulta = new Select(driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[1]/select"))); 
     selecionapermanenciamulta.selectByIndex(0); 

我点击箭头把他带到另一边:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[2]/input[1]")).click(); 

loop

+0

也许我失去了一些东西,但它看起来像你可以把这些代码在for循环中完成什么你要。 'for(int i = 0; i Andrio

+0

@Andrio你可以告诉我它是如何在我的代码中的吗?我是编程新手。 –

回答

0

所以有它循环,你列出的操作,您可以使用一个for循环,像这样:

int numOfTimesToLoop = 5; 

    for (int i = 0; i < numOfTimesToLoop; i++) { 
     driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[1]")).sendKeys(offers()); 
     driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[2]")).click(); 

     Select selecionapermanenciamulta = new Select(driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[1]/select"))); 
     selecionapermanenciamulta.selectByIndex(0); 

     driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[2]/input[1]")).click(); 
    } 

,例如,将循环5次。对于这种循环,你需要知道你需要循环多少次。

或者,你可以使用while循环循环,直到某些条件得到满足:

while (someConditionNotYetMet) { 
    //all those webdriver actions 
} 
+0

它没有工作,它做了以下几段,发出错误 无法找到元素:'driver.findElement(By.xpath(“/ html/body/center/table/tbody/tr [2]/td [ 2] /形式/表[3]/tbody的/ TR [17]/TD /输入[1]“))的SendKeys(报价());”。 –

+0

@PauloSilva这是你提供的代码。如果找不到,那么xpath选择器必须出错。 – Andrio

+0

我不明白他为什么在迭代时没有找到拨号盘,因为他发现的第一遍通常会放置ID和名称,并在重复操作时发生错误。 –