2014-11-12 4 views
0

Я новичок в Selenium. Я использую Visual Studio 2012 и программирование на C#. Я могу заставить IE11 открывать и перемещаться по странице, но независимо от того, какой метод я использую для поиска элемента, VS возвращает исключение NoSuchElementException. Это включает, когда я копирую/вставляю из примера в Интернете. Здесь, должно быть, чего-то не хватает.Selenium for IE11 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._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$" data-val-regex="Invalid Email Address." data-val="true"> 
     </div> 
</div> 

ответ

0

Я не вижу, чтобы ваш драйвер указывал на IEdriver, он скорее указывает на папку (может быть). Правильный код должен выглядеть следующим образом

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

Edit: Кроме того, убедитесь, чтобы установить защищенный режим в одинаковой для всех зоны enter image description here

+0

Если добавить «IEDriverServer.exe», я получаю ошибку DriverServicenotFoundException заявив, что " Файл C: \ Users \ Mike \ Documents \ selenium \ IEDriverServer.exe \ IEDriverServer.exe не существует. – MikeyH

+0

Я предлагаю вам вместо этого использовать nuget. Конфигурация для IE немного сложна. См. Http://stackoverflow.com/questions/10995314/driver-executable-must-be-set-by-the-webdriver-ie-driver-system-property – Saifur

+0

Сообщение, на которое вы связались в Java. Я знаю, что они довольно похожи, но я не знаю, как конвертировать то, что он говорит на этом посту, чтобы решить мою проблему. – MikeyH

Смежные вопросы