【发布时间】:2020-01-30 14:50:00
【问题描述】:
我正在尝试创建一个脚本,该脚本将单击多个页面上的同名按钮,但这些按钮具有不同的属性。有些有 id、一些名称、一些值和一些数据作为标识符。这个函数应该有一个属性列表,当我运行脚本时,它应该进入该列表,单击按钮并移至下一步。我的问题是,当其中一个按钮在列表中有 2 个属性时,它会单击两次。这就是我要解决的问题。
我尝试了 try and catch 函数,但还有其他几个我不完全了解的函数,因为我是这个新手。 Try and catch 功能适用于点击,但不能避免点击两次。
我的 try and catch 函数
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;
【问题讨论】:
标签: javascript selenium automated-tests cucumber