【发布时间】:2021-10-31 18:02:58
【问题描述】:
我正在编写一个自动化脚本,我希望自动化的场景之一是从网格中删除一条记录,现在我正在做的是找到网格中删除按钮列表的 xpath,我正在点击一个“if”条件,我声明如果删除按钮显示在页面上,则删除第一条记录,否则 driver.close();但我猜 Selenium 没有检查条件,它直接向我显示 NoSuchElement 异常。有人可以建议我一种更好的方法或其他替代方案来自动化这种情况。我正在使用的代码:=
//resourceSchedulePage - Class object
//clickDeleteResourceScheduleDataBtn() - method that returns the WebElement
schedulerPage.clickResourceSchedule().click();
logger.info("Resource schedule link is clicked");
Thread.sleep(500);
if(resourceSchedulePage.clickDeleteResourceScheduleDataBtn().isDisplayed())
{
resourceSchedulePage.clickDeleteResourceScheduleDataBtn().click();
Thread.sleep(500);
}
else
{
driver.close();
}
实施:
@FindBy(xpath="//*[@id=\"gridResourceSchedule\"]//td[6]/a[2]")
WebElement deleteResourceScheduleBtn;
public WebElement clickDeleteResourceScheduleDataBtn() throws InterruptedException {
synchronized (driver) {
driver.wait(1000); }
return deleteResourceScheduleBtn; }
【问题讨论】:
-
这是一个网络元素
clickDeleteResourceScheduleDataBtn,向我们展示你是如何实现它的。 -
@FindBy(xpath="//*[@id=\"gridResourceSchedule\"]//td[6]/a[2]") WebElement deleteResourceScheduleBtn;公共 WebElement clickDeleteResourceScheduleDataBtn() 抛出 InterruptedException { return deleteResourceScheduleBtn; }
标签: java selenium selenium-webdriver ui-automation browser-automation