2015-12-17 2 views
0

Итак, я хочу сделать следующий код более компактным, есть ли способ?Сделайте более компактный код этого массивного списка

Возможно, с петлей или что-то в этом роде. Пробовал цикл for, но на самом деле это не получилось ...

 driver.findElement(By.xpath("//input [@value='1']")).click(); 
     driver.findElement(By.xpath("//input [@value='2']")).click(); 
     driver.findElement(By.xpath("//input [@value='3']")).click(); 
     driver.findElement(By.xpath("//input [@value='4']")).click(); 
     driver.findElement(By.xpath("//input [@value='5']")).click(); 
     driver.findElement(By.xpath("//input [@value='6']")).click(); 
     driver.findElement(By.xpath("//input [@value='7']")).click(); 
     driver.findElement(By.xpath("//input [@value='8']")).click(); 
     driver.findElement(By.xpath("//input [@value='9']")).click(); 
     driver.findElement(By.xpath("//input [@value='10']")).click(); 
     driver.findElement(By.xpath("//input [@value='11']")).click(); 
     driver.findElement(By.xpath("//input [@value='12']")).click(); 
     driver.findElement(By.xpath("//input [@value='13']")).click(); 
     driver.findElement(By.xpath("//input [@value='14']")).click(); 
     driver.findElement(By.xpath("//input [@value='15']")).click(); 
     driver.findElement(By.xpath("//input [@value='16']")).click(); 
     driver.findElement(By.xpath("//input [@value='17']")).click(); 
     driver.findElement(By.xpath("//input [@value='18']")).click(); 
     driver.findElement(By.xpath("//input [@value='19']")).click(); 
     Thread.sleep(1000); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[1]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[2]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[3]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[4]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[5]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[6]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[7]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[8]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[9]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[10]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[11]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[12]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[13]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[14]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[15]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[16]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[17]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[18]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[19]")).click(); 
     driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/form/div/div[2]/div[1]/div[2]/div[7]/div/input[20]")).click(); 

     driver.findElement(By.xpath("//button [@type='submit']")).click(); 
     Thread.sleep(10000); 

Это два списка с флажками.

+2

Почему цикл не работает? Насколько я вижу, я думаю, что цикл for с конкатенацией строк будет работать – VicX

+0

Можете ли вы объяснить, что «на самом деле это не так хорошо»? – SiKing

+0

Я перепутал где-то, я думаю. почти так же, как ответ Ян здесь. думаю, что я сделал опечатку или что-то поделаю теперь ее работу. также я попытался сделать заявление if там без уважительной причины: p – thomagron

ответ

5

Как насчет

for(int i = 1; i < 20; ++i) { 
     driver.findElement(By.xpath("//input [@value='"+i+"']")).click(); 
    } 
    Thread.sleep(1000); 

и так далее для других элементов?

+0

ах, спасибо! которые должны выполнять эту работу. – thomagron

+1

только что сделал, мог сделать это раньше, потому что это было быстро или что-то, спасибо! – thomagron

Смежные вопросы