Я хочу проверить значение глобального объекта с помощью Selenium. Но пока я не мог сделать это с помощью FirefoxDriver...
Выполнение чего-то вроде driver.ExecuteScript("return 1+2");
возвращает 3, как и ожидалось; запуск driver.ExecuteScript("return myObject");
работает с драйвером Chrome, но дает null в FirefoxDriver.
Следующее работает в 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, а также обычный Firefox 46.0.1, работающий на Win10, .Net 4.6.1.