页面加载,但找不到项目
本文关键字:找不到 项目 加载 | 更新日期: 2023-09-27 18:14:54
我测试了一些站点。只需尝试将一些文本放入输入字段(靠近网站URL:(。我用硒。我的代码引发异常。请告诉我为什么?
IWebDriver driver = new FirefoxDriver();
try
{
driver.Navigate().GoToUrl("http://www.w-global.com/index.php/tools-gadgets/online-sitemap-generator");
IWebElement url_parse = driver.FindElement(By.Name("inputurl"));
url_parse.SendKeys("http://test.com");
}
catch (Exception ee)
{
String s = ee.ToString();
}
finally
{
driver.Quit();
}
错误:
OpenQA.Selenium.NoSuchElementException:在c:''Projects''WebDriver''trunk''dotnet''src''WebDriver''Remote''RemoteWebDriver.cs中找不到元素:{''"method''":''"name''",''"selector''":"inputurl''"}''r''n…
将IWebElement url_parse = driver.FindElement(By.TagName("inputurl"));
更改为IWebElement url_parse = driver.FindElement(By.Name("inputurl"));
更新
刚刚注意到元素在iframe中。
在尝试查找元素之前,您需要切换到它。
driver.SwitchTo().Frame("c-analyzer"); #and then
IWebElement url_parse = driver.FindElement(By.Name("inputurl"));
实际上,IWebElement url_parse = driver.FindElement(By.TagName("inputurl"));
中的inputurl
是错误的,因为html源中没有inputurl
标记。
我能提出什么建议?
试着用这个选择器代替你的
IWebElement url_parse = driver.findElement(By.cssSelector("div.mfid-v3 input"));
我希望这就是你想要的投入。
另外,在写入值之前清除它。因为你的代码会在输入中执行此操作:
http://http://test.com
所以别忘了url_parse.clear();
告诉我发生了什么事=(