Я пытаюсь создать скрипт, который будет нажимать одну и ту же кнопку с именем на нескольких страницах, но кнопки имеют разные атрибуты. У некоторых есть идентификатор, какое-то имя, какое-то значение и некоторые данные в качестве идентификатора. Эта функция должна иметь список атрибутов, и когда я запускаю скрипт, она должна войти в этот список, нажать кнопку и перейти к следующему шагу. Моя проблема здесь в том, что когда одна из кнопок имеет 2 атрибута в списке, она щелкает дважды. Это проблема, которую я пытаюсь решить.
Я пытался попытаться поймать функцию, но и некоторые другие, которые я точно не знаю, так как я новичок в этом. Функция «Попробуй и поймай» работает для нажатия, но не для того, чтобы избежать двойного щелчка.
Моя функция «Попробуй и поймай»
public void jeg_trykker_på_knap(String knap) {
switch (knap) {
case "Slet":
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@data-contribution-title='Din indberetning slettes']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception a) {
}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@id='slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception b) {
}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@value='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception c) {
}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//button[text()='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception d) {
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@name='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception e) {
}
}
break;