我使用Selenium收到此错误: WebDriver.dll
中发生了未处理的“System.InvalidOperationException”类型异常其他信息:'[JavaScript错误:“a为空”{file:“file:/// C:/Users/jzhu/AppData/Local/Temp/anonymous1925480623.webdriver-profile/extensions/fxdriver@googlecode。 com / components / command_processor.js“line:7509}]'调用方法时:[nsICommandProcessor :: execute]
以下是此部分的代码:
ffbrowser.FindElement(By.XPath( “// TD [4] / A”))点击();
Thread.Sleep(1000);
ffbrowser.SwitchTo().Frame("content");
Thread.Sleep(1000);
ffbrowser.SwitchTo().Frame("NavBar");
Thread.Sleep(500);
ffbrowser.FindElement(By.XPath("//td[12]/a/div/img")).Click();
Thread.Sleep(800);
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);
Thread.Sleep(2000);
InputSimulator.SimulateTextEntry(@"Tostring.pdf");
Thread.Sleep(1500);
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);
Thread.Sleep(3500);
//ffbrowser.Navigate().Refresh();
//ffbrowser.SwitchTo().DefaultContent();
ffbrowser.Navigate().Back();
//InputSimulator.SimulateKeyPress(VirtualKeyCode.BROWSER_BACK);
Thread.Sleep(1000);
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);
Thread.Sleep(1000);
InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);
Thread.Sleep(500);
//Thread.Sleep(500);
//ffbrowser.SwitchTo().DefaultContent();
//Thread.Sleep(1000);
//ffbrowser.SwitchTo().Frame("content");
//ffbrowser.SwitchTo().Frame("leftnav");
//Thread.Sleep(1000);
//ffbrowser.FindElement(By.LinkText("My Bills")).Click();
//Thread.Sleep(1000);
它位于登录后面的网站上,因此如果不提供敏感的登录信息,我无法提供实际示例。但我使用switchTo进入一个框架,然后我需要做Navigate.Back(),但是当我尝试导航时它会崩溃。
答案 0 :(得分:2)
我对C#的知识非常有限,但我知道如果你试图在iframe对象内部调用WebDriver对象上的方法,那么在其他绑定(如Java和Ruby)中会抛出错误。
解决方法是在尝试webdriver.switchTo().defaultContent()
之前使用webdriver.Navigate.Back()
方法。