【发布时间】:2016-05-26 10:58:31
【问题描述】:
我想使用 Selenium 检查全局对象的值。但到目前为止,我无法使用 FirefoxDriver...
运行driver.ExecuteScript("return 1+2"); 之类的东西确实会按预期返回 3;运行 driver.ExecuteScript("return myObject"); 确实适用于 Chrome 驱动程序,但在 FirefoxDriver 中产生 null。
以下内容在 Chrome 中有效,但在 Firefox 中引发异常:
//driver is either an instance of FirefoxDriver or ChromeDriver
driver.Url = "https://www.google.com";
driver.Navigate();
//gbar is a global object at google.com
var result = driver.ExecuteScript("return gbar");
Assert.NotNull(result);
例外:
System.InvalidOperationException : ReferenceError: gbar is not defined (UnexpectedJavaScriptError)
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.ExecuteScriptCommand(String script, String commandName, Object[] args)
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScript(String script, Object[] args)
at ...
使用 Selenium.Webdriver 2.53.0 和 Firefox 开发者版 48.0a2,以及在 Win10、.Net 4.6.1 上运行的常规 Firefox 46.0.1。
【问题讨论】:
标签: c# selenium selenium-firefoxdriver