如何在机器人框架中的if-else条件下等待下拉值加载



我的场景是:我有两个并排的下拉值,如果第一个下拉值是基于所选值选择的,那么第二个下拉值将从中加载,我们需要选择一个值。在第一个下拉列表中的一种情况下,如果我选择未知或任何合法目的,我不应该选择第二个下拉列表。这就是我的要求,请帮帮我。下面是我写的代码

变量

${var1}=    Unknown
${var2}=    Any legal purpose

用户从下拉中随机选择NAICS代码和子代码

${selectedNAICScode}= User selects NAICS code from the drop down       
${NAICS_code}  run keyword if    
${selectedNAICScode}!=${var1} or ${selectedNAICScode}!=${var2} run keywords
...    element should be visible        xpath://select[@id="ddlNAICSSubCode"]
#     ...    is visible          ${NAICS_subcode}
...    User selects NAICS-sub code from the drop down
...    ELSE     run keywords
...    element should not be visible        xpath://select[@id='ddlNAICSSubCode']

尽管我们在运行脚本时给出了一个参数,但它表示期望有1到2个参数,但是得到了0。我的问题是,在else条件下,我们如何等待下拉值加载到下拉列表中。

您可以使用以下功能:

WebDriverWait wait = new WebDriverWait(driver, INSERT_INTEGER_WAITING_TIME);
boolean waitUntil = wait.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ENTER_YOUR_XPATH_OR_OTHER_ATTRIBUTE")));

这样,只有当元素可见时,您的操作才会发生。

如果您需要更多信息,请查看此链接

最新更新