Selenium for IE11 NoSuchElementException

时间:2014-11-12 21:39:36

标签: c# selenium internet-explorer-11

我是Selenium的新手。我正在使用Visual Studio 2012并使用C#编程。我可以让IE11打开并导航到页面,但无论我使用哪种方法尝试查找元素,VS都会返回NoSuchElementException。这包括我在线复制/粘贴示例的时间。我必须在这里找到一些东西。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Support.UI;

namespace mySelenium
{
    class Program
    {
        static void Main(string[] args)
        {

            IWebDriver driver = new InternetExplorerDriver(@"C:\Users\Mike\Documents\selenium");

            //navigate to signup page
            driver.Navigate().GoToUrl("https://login.aboutone.com/sts/register?wa=wsignin1.0&wtrealm=https%3a%2f%2fgo.aboutone.com%2fhome%2ffederationresult&wctx=%2f");

            IWebElement element = driver.FindElement(By.Name("Email"));
            element.SendKeys("Tester");


        }
    }
}

我正在尝试与之互动的字段的HTML就在这里。

<div class="form-group ">
      <label class="col-sm-4 control-label" for="Email">Email</label>
      <div class="col-sm-8">
             <input name="Email" class="form-control" id="Email" type="text" value="" data-val-required="The Email field is required." data-val-regex-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$" data-val-regex="Invalid Email Address." data-val="true">
      </div>
</div>

2 个答案:

答案 0 :(得分:1)

我没有看到你的驱动程序指向IEdriver而是指向该文件夹(可能是)。正确的代码应如下所示

IWebDriver driver = new InternetExplorerDriver(@"C:\Users\Mike\Documents\selenium\IEDriverServer.exe");

编辑:此外,请确保将所有区域enter image description here

的保护模式设置为相同

答案 1 :(得分:0)

MikeyH:

驱动程序找不到元素的问题是因为,也许您未使用正确的IEDriverServer。 我面临着相同的行为,接下来我要看看:

My Selenium Version: 3.11.0

您应该为您的Selenium版本查找IEDriverServer.exe(在某些情况下,Windows 32版本可以正常工作,并且比X64版本更好)

尝试使用此链接:

enter link description here