2017-04-03 100 views
0

輸入標籤,我用下面的軟件包運行:無法點擊硒鉻司機

「Selenium.Support」版本=「3.3.0」 targetFramework =「net40」

「硒。 webdriver的 「版本= 」3.3.0「 targetFramework = 」net40「

」Selenium.WebDriver.ChromeDriver「 版本= 」2.28.0「 targetFramework = 」net40「

」WebDriver.ChromeDriver「 版本=」 26.14 .313457.1「targetFramework =」net40「

而在我的測試程序中,我試圖登錄到morningstar.com,但點擊從不會提交用戶名/密碼。有什麼建議麼?我看到可能有人在線嘗試點擊時出現問題。我也試過IE和Firefox,但都不適合我。

using System; 
using System.IO; 
using System.Runtime.InteropServices; 
using System.Reflection; 
using System.Text; 
using System.Net; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 
using OpenQA.Selenium.Remote; 
using System.Threading; 

namespace ConsoleApplication1 
{ 

    class Class1 
    { 
     [STAThread] 
     static void Main(string[] args) 
     { 
      IWebDriver driver = new ChromeDriver(); 
      driver.Navigate().GoToUrl("http://www.morningstar.com/members/login.html"); 
      Thread.Sleep(5000); 
      driver.FindElement(By.Id("uim-uEmail-input")).SendKeys("email"); 
      driver.FindElement(By.Id("uim-uPassword-input")).SendKeys("password"); 
      Thread.Sleep(1000); 

      driver.FindElement(By.Id("uim-login-submit")).Click(); 
      Thread.Sleep(10000); 
     } 
    } 
} 

我用行動和JavaScript的解決辦法像其他的答案在網上建議也嘗試:

 ((IJavaScriptExecutor)(driver)).ExecuteScript("arguments[0].click();", driver.FindElement(By.Id("uim-login-submit"))); 

任何想法,或者這是硒的錯誤嗎?

+0

請告訴我們什麼是即將出現的錯誤 – Sandeep

回答

0

點擊可能工作正常,問題可能是您的密碼字段設置不正確,因爲onFocus事件被觸發後將存儲值,並且您在密碼字段中寫入文本後直接單擊提交。

要測試此設置,請在設置密碼後嘗試在用戶名字段上執行click()。就像這樣,我添加了兩次點擊:

driver.FindElement(By.Id("uim-uEmail-input")).SendKeys("email"); 
driver.FindElement(By.Id("uim-uPassword-input")).Click(); 
driver.FindElement(By.Id("uim-uPassword-input")).SendKeys("password"); 
driver.FindElement(By.Id("uim-uEmail-input")).Click(); 
+0

不幸的是,這並沒有奏效。 – sqenixs