我是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>
答案 0 :(得分:1)
我没有看到你的驱动程序指向IEdriver而是指向该文件夹(可能是)。正确的代码应如下所示
IWebDriver driver = new InternetExplorerDriver(@"C:\Users\Mike\Documents\selenium\IEDriverServer.exe");
编辑:此外,请确保将所有区域
的保护模式设置为相同答案 1 :(得分:0)
MikeyH:
驱动程序找不到元素的问题是因为,也许您未使用正确的IEDriverServer。 我面临着相同的行为,接下来我要看看:
My Selenium Version: 3.11.0
您应该为您的Selenium版本查找IEDriverServer.exe(在某些情况下,Windows 32版本可以正常工作,并且比X64版本更好)
尝试使用此链接: