2013-12-19 100 views
2

我是C#和自動化的初學者。我想嘗試使用Selenium和NUnit自動化IE。我可以午餐時間瀏覽IE並導航到google.com。但由於某種原因,編無法找到elementID。所以我不能「發鑰匙」到現場。我的其他問題是如何提交沒有ID或姓名的表單。硒IE自動化

下面是代碼:

using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using OpenQA.Selenium.IE; 
using OpenQA.Selenium.Support.UI; 
using OpenQA.Selenium; 
using NUnit.Framework; 
using OpenQA.Selenium.Internal; 

namespace ClassLibrary1 
{ 
    public class Class1 
    { 
     public IWebDriver driver; 
     public string baseUrl; 

     [SetUp] 
     public void Setup() 
     { 
     baseUrl ="https://www.google.com"; 
     driver = new InternetExplorerDriver(); 
     } 
     [Test] 
     public void TestCase1() 
     { 
     driver.Navigate().GoToUrl(baseUrl); 
     System.Threading.Thread.Sleep(500); 
     driver.FindElement(By.Id("gbqfq")).SendKeys("WhatIsMyIP"); 
     System.Threading.Thread.Sleep(500); 
     driver.FindElement(By.Id("gbqfba")).Click(); 
     } 
     [TearDown] 
     public void TearDown() { } 

    } 
} 
+0

您使用的是什麼版本的IE? – Brian

+0

使用默認的IE11 –

+0

您是使用內置的IE開發人員工具直接從頁面標記中提取這些ID嗎? – Brian

回答

0

我用谷歌搜索之前已經經歷了這個問題。發生的事情是,當你的腳本發送密鑰來獲取文本框時,來自谷歌的「智能搜索」出現,並且元素消失。

試試這個,這應該工作。

[Test] 
public void TestCase1() 
{ 
    driver.Navigate().GoToUrl(baseUrl); 
    driver.FindElement(By.Name("q")).SendKeys("WhatIsMyIP"); 
    driver.FindElement(By.Name("btnG")).Click(); 
} 

自己去觀察。執行搜索,並觀看DOM。

+0

中找不到元素,請把這些顯式的等待出來! :| – sircapsalot

+0

仍然不能正常工作,這就是我得到的ClassLibrary1.Class1.TestCase1: OpenQA.Selenium.NoSuchWindowException:無法在關閉窗口中查找元素 –

+0

@Light_User - 查看異常;你確定IE是開放的並且有重點嗎? – Brian