Selenium启动Firefox,但我有时间

时间:2018-01-19 21:36:32

标签: .net selenium firefox

一年前,当我运行Selenium测试时,他们工作了 从那时起我就更新了Selenium和Firefox。

现在,当我开始测试时,它已经失败了

driver = new FirefoxDriver() 

带有 ... TargetInvocationException ... --->
OpenQA.Selenium.WebDriverException: The HTTP request to the remote WebDriver server for URL http://localhost:51672/session timed out after 60 seconds.

为什么呢?解决?

Firefox启动但没有任何加载。每次运行都是新的端口号(51672)。

(我猜测将Selenium和FF降级到各自的旧版本,无论它们是什么,都可以解决问题;但这不是前进的方法。我之前也有一个模糊的记忆,拥有旧版本的Se或FF,因为它不会起作用。)

我有Windows10 x64,Firefox量程57.0.4(64位),Selenium v​​.3.8和dotnet 4.6.1。

1 个答案:

答案 0 :(得分:1)

自Selenium 3.0起,您还需要根据系统配置从以下网址下载geckodriver.exe。

https://github.com/mozilla/geckodriver/releases

然后你可以尝试这样的事情:

//Give the path of the geckodriver.exe    
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(@"C:\Users\abcd\Downloads\geckodriver-v0.13.0-win64","geckodriver.exe")

//Give the path of the Firefox Browser        
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

IWebDriver driver = new FirefoxDriver(service);
driver.Navigate().GoToUrl("https://www.google.com");

您可能需要或有办法将geckodriver指定为环境变量。