我已更新安装的最新selenium webdriver(v 3.4.0)并拥有最新的firefox驱动程序(0.15.0)。我将这些安装在我正在使用“Manage Nuget Packages”选项工作的项目中。突然之间我的所有测试都失败了,因为它无法与firefox浏览器上的任何元素进行交互。说明我的问题,当我在谷歌网站上尝试以下简单的测试时
IWebDriver driver = new FirefoxDriver();
driver.Url = "https://www.google.com/";
var MyKeyWord = driver.FindElement(By.Id("lst-ib"));
MyKeyWord.SendKeys("Gmail");
它失败了以下异常。
An unhandled exception of type 'System.InvalidOperationException' occurred in WebDriver.dll
Additional information: Expected [object Undefined] undefined to be a string (IndexOutOfBounds)
我正在寻找如何处理这个问题,我找到了一个解决方案如下: driver = new FirefoxDriver(DRIVER_PATH);
但是我的所有测试都在执行而没有在firefox中指定这些路径,因为当我们使用“Manage Nuget Packages”选项安装所需的包时,firefox会选择它们。我不知道为什么它突然失败了。有人对此有任何建议吗?
答案 0 :(得分:0)
从https://github.com/mozilla/geckodriver/releases下载最新的geckodriver。解压缩并将gecodriver文件放入系统路径。重启(如果需要)。
此链接有助于设置:https://github.com/mozilla/geckodriver
我希望它会有所帮助。
答案 1 :(得分:0)
NuGet经理中有两个Chromedriver显示器 - 一个用于Chrome的驱动程序,另一个用于Selenium Google Chrome驱动程序。你必须安装它们,然后才能工作。