C# 预期[object Undefined]Undefined为字符串(IndexOutOfBounds)
我在Firefox中面临sendkeys的一个问题,它抛出了一个异常“预期[object Undefined]Undefined为字符串(IndexOutOfBounds)” 我将geckodriver的路径添加到系统变量中,这样就不会在代码中发送路径 Firefox驱动程序:C# 预期[object Undefined]Undefined为字符串(IndexOutOfBounds),c#,selenium,firefox,selenium-webdriver,geckodriver,C#,Selenium,Firefox,Selenium Webdriver,Geckodriver,我在Firefox中面临sendkeys的一个问题,它抛出了一个异常“预期[object Undefined]Undefined为字符串(IndexOutOfBounds)” 我将geckodriver的路径添加到系统变量中,这样就不会在代码中发送路径 Firefox驱动程序: FirefoxProfile profile = new FirefoxProfile(); profile.SetPreference("browser.download.manager.alertOnEXEOpen"
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("browser.download.manager.alertOnEXEOpen", false);
profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/csv, text/csv, text/plain,application/octet-stream doc xls pdf txt");
profile.SetPreference("browser.download.manager.focusWhenStarting", false);
profile.SetPreference("browser.download.useDownloadDir", true);
profile.SetPreference("browser.helperApps.alwaysAsk.force", false);
profile.SetPreference("browser.download.manager.closeWhenDone", true);
profile.SetPreference("browser.download.manager.showAlertOnComplete", false);
profile.SetPreference("browser.download.manager.useWindow", false);
profile.SetPreference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", false);
profile.SetPreference("pdfjs.disabled", true);
_driverInstance = new FirefoxDriver(profile);
堆栈跟踪:
System.InvalidOperationException: Expected [object Undefined] undefined to be a string (IndexOutOfBounds)
Result StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebElement.Execute(String commandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebElement.SendKeys(String text)
at LoginPage.set_forgotPwdEmail(String value)
每个具有SendKeys()的测试用例都会抛出此错误
我在SO中读到了一些问题,并了解到这是Firefox的问题所在。在修复之前,是否有工作要做
Firefox版本:53.0
GeckoDriver:GeckoDriver-v0.15.0-win64
Selinium版本:3.3.0尝试使用
系统线程线程睡眠(3000)
例如:
IWebElement Password = driver.FindElement(By.Id("txtPassword"));
Password.SendKeys("pass");
System.Threading.Thread.Sleep(3000);
Password.SendKeys(Keys.Enter);
如果显示问题,请将驱动程序从64位更改为32位我使用JavaScript输入发送键不适用的值:
((IJavaScriptExecutor)driver).ExecuteScript(“参数[0]。值='Test',密码) “解决方法”是使用geckodriver 0.16,该版本现在可用。@JimEvans感谢您的回复。我在周五验证了最新的壁虎,到那时它仍然是V0.15。今天没有核实。再次感谢。我将试用最新版本。@JimEvans谢谢,它成功了。我们需要将selenium更新到3.4以支持GeckoV0.16。一旦两者都更新,就不会出现任何问题。再次感谢。这里有一个答案:(是的,你需要更新geckodriver)。这应该有什么帮助?在我的情况下,当我使用sleep或wait时,它会执行。有时它显示“预期[object Undefined]Undefined为字符串(IndexOutOfBounds)”。网络速度太慢或应用程序没有响应时出错。密码是WebElement是否尝试更新驱动程序?