概述
我正在尝试创建脚本来测试网站(js应用程序),代码几乎完成了,但是遇到了问题。 该脚本应该在网站上编辑问题(该问题使用数据库中的许多变量),并且取决于脚本是否失败,或者是否有人编辑了该问题,脚本是否有可能弹出窗口消息(不是单独的窗口或新标签)。 我想要代码:
单击该元素(如果存在),或者如果该元素不存在,则转到下一行代码。
我尝试使用,但没有帮助:
Alert alert = driver.switchTo().alert();
alert.accept();
我的代码:
driver.findElement(By.xpath("//button[2]")).click();
// Click unselect all
Thread.sleep(1000);
driver.findElement(By.linkText("Romania")).click();
// Select Romania
log.debug("Select Romania");
Thread.sleep(2000);
driver.findElement(By.linkText("Germany")).click();
// Select Germany
log.debug("Select Germany");
Thread.sleep(2000);
driver.findElement(By.xpath("//div[4]/a")).click();
// Click Save Button
log.debug("Click Save");
Thread.sleep(3000);
**driver.findElement(By.xpath("//div[4]/div/div/div/div/div/button")).click();**
// Pop-up message
log.debug("Click Pop-up message");
Thread.sleep(3000);
/// Single Answer
driver.findElement(By.linkText("Change")).click();
// Click Change Template
log.debug("Click Change");
Thread.sleep(2000);
您可以在****(弹出窗口)之间找到问题所在的行,如何单击该元素是否存在或移至driver.findElement(By.linkText(“ Change”))。click(); 如果找不到元素。
请让我知道是否需要更多信息。
编辑:提供有关为何出现弹出窗口的更多详细信息。 该脚本将编辑一个问题,该问题具有多个模板,并且在选择了模板之后,该脚本应通过每个模板,脚本会将数据库中的变量与该问题相关联。 模板:
单个答案问题单个答案下拉问题多个答案问题多个答案下拉问题日期
当模板从多个答案更改为单个答案/日期或以其他方式更改时,弹出消息显示为警告(已使用的变量将被删除)。 在理想情况下,如果脚本成功完成(它将以单个答案下拉列表结尾-第一个问题是单个答案,因此不会出现弹出窗口)并且没有人编辑问题,但如果脚本出现,我将不会遇到弹出窗口将模板更改为多个答案后,由于x原因而失败,当我重新启动脚本时,我将收到该弹出窗口/警告。
如上面的代码所示,更改问题的语言时也会发生此问题,我遇到问题时有多个步骤。
目前,为了使脚本运行并避免上述问题,我需要自己编辑问题,并在运行脚本之前选择特定的语言和模板。
最后
以上就是自然西装为你收集整理的java selenium 判断元素存在,java - Selenium Java-如果元素存在,请单击;如果找不到元素,则继续执行下一个命令 - 堆栈内存溢出...的全部内容,希望文章能够帮你解决java selenium 判断元素存在,java - Selenium Java-如果元素存在,请单击;如果找不到元素,则继续执行下一个命令 - 堆栈内存溢出...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复