Я новичок в Selenium. Я использую Visual Studio 2012 и программирование на С#. Я могу заставить 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>
Я не вижу, чтобы ваш драйвер указывал на IEdriver, скорее указывая на папку (может быть). Правильный код должен выглядеть следующим образом:
IWebDriver driver = new InternetExplorerDriver(@"C:\Users\Mike\Documents\selenium\IEDriverServer.exe");
Edit: Кроме того, не забудьте установить защищенный режим для всех зон