无法使用.NET WebDriver单击span元素,但能够使用Selenium IDE

时间:2013-09-03 12:11:21

标签: c# selenium selenium-webdriver

我有两个代码和平 - 一个用于Selenium WebDriver,另一个用于Selenium IDE:

这个找不到元素并单击它:

namespace TestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            FirefoxProfile ffP = new FirefoxProfile();
            ffP.EnableNativeEvents = true;
            IWebDriver dr = new FirefoxDriver(ffP);
            dr.Navigate().GoToUrl("http://cgqakiev.fg.local/ropesgray");
            dr.FindElement(By.Id("username")).SendKeys("admin");
            dr.FindElement(By.Id("password")).SendKeys("pass2app");
            dr.FindElement(By.Id("loginSubmit")).Click();

            var CC = dr.FindElement(By.XPath("//span[contains(text(), 'Conflict Check')]"));
            CC.Click(); 
        }
    }
}

虽然来自Selenium IDE的这个工作正常:

<tr>
    <td>click</td>
    <td>xpath=//span[contains(text(), 'Conflict Check')]</td>
    <td></td>
</tr>
<tr>
    <td></td>
    <td></td>
    <td></td>
</tr>

如何点击WebDriver?提前谢谢大家!

1 个答案:

答案 0 :(得分:0)

正如Arran建议的那样:问题是点击发生在页面完全加载之前(WebDriver问题),而使用selenium IDE我已经打开并加载了应用程序,因此已经有了点击的内容。所以这是我的愚蠢)

然后我找到的解决方案就是:https://stackoverflow.com/a/16283166/1922804

我有一个'loading ...'进度条,我需要在继续执行测试之前消失。