我是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>
我没有看到您的驱动程序指向IEdriver,而是指向文件夹(可能是)。正确的代码应如下所示
IWebDriver driver = new InternetExplorerDriver(@"C:\Users\Mike\Documents\selenium\IEDriverServer.exe");
编辑:另外,请确保将所有区域的保护模式都设置为相同。
MikeyH: