Selenium Code在调试模式下工作,但在运行模式下失败

时间:2015-03-20 10:38:15

标签: c# selenium-webdriver

下面的代码基本上是选择表单上的下拉控件。它在调试模式下工作,但无法在运行模式下选择下拉列表值。不知道为什么会这样。浏览器我正在使用chrome

new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistday"))).SelectByText("9");
                driver.FindElement(By.CssSelector("option[value=\"9\"]")).Click();
                new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistmonth"))).SelectByText("May");
                driver.FindElement(By.CssSelector("option[value=\"May\"]")).Click();
                new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistyear"))).SelectByText("2000");
                driver.FindElement(By.CssSelector("option[value=\"2000\"]")).Click();

3 个答案:

答案 0 :(得分:0)

从下拉列表中选择选项后,无需再次单击该选项。

尝试以下代码。

new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistday"))).SelectByText("9");
new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistmonth"))).SelectByText("May");
new SelectElement(driver.FindElement(By.Id("ctl00_ctl00_Contents_Contents_dropdownlistyear"))).SelectByText("2000");

答案 1 :(得分:0)

在找到元素之前,将此代码添加到appium项目中。它适用于我

try {
    Thread.sleep(10000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}

例如:

try {
    Thread.sleep(10000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}
((AndroidDriver)   driver).swipe(startx1,starty1,endx1,starty1,2000);

答案 2 :(得分:0)

这可能是一个非常普通的解决方案,但请尝试在您采取行动之前重新加载页面。它适用于我的一个项目。