一年前,当我运行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。
答案 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指定为环境变量。