没有为模态中的前两个字段发送密钥

时间:2015-07-17 17:24:29

标签: java c# selenium xpath selenium-webdriver

好的,自动化的过程是:

  1. 单击“添加地址”按钮。模态出现但未完成加载
  2. 等待使用wait.until加载所有字段和按钮(ExpectedConditions.visibilityOfElementLocated(By.xpath(xPath))。
  3. 发送密钥
  4. 选择保存收件人按钮
  5. 但是,有一些情况下未发送前两个密钥。我已经尝试等待模态,但键不太可能发送。 我使用了错误的wait.until参数吗?我在等待错误的元素吗?我假设现在有一些种族情况发生

1 个答案:

答案 0 :(得分:2)

public static class WebDriverExtensions
{
    /// <summary>
    /// Try finding the element for timeoutInSeconds until throwing "no matching element"
    /// </summary>
    public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
    {
        if (timeoutInSeconds <= 0) return driver.FindElement(@by);

        var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
        return wait.Until(drv => drv.FindElement(@by));
    }
}

然后你可以调用这个

driver.FindElements(By.xpath(xPath),5).SendKeys(fieldOneString);

xPath用于fieldOne