Firefox 53 使用 gecko 0.16.1 启动但无法连接到互联网
Firefox 53 launched with gecko 0.16.1 but fail to connect to internet
我正在使用以下配置:
- Win 10 64 位
- VS 企业版 2017
- C#测试项目
- Firefox 53.0.3(64 位)
- Gecko 驱动 geckodriver-v0.16.1-win64
- Selenium.WebDriver v3.4.0
和这个片段:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace Test
{
class Program
{
static void Main(string args)
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com");
}
}
}
当我 运行 这个程序时,Gecko 驱动程序启动并显示:
1496673391949 geckodriver INFO Listening on 127.0.0.1:62736
1496673393128 geckodriver::marionette INFO Starting browser \?\C:\Program Files\Mozilla Firefox\firefox.exe with args ["-marionette"]
Firefox 页面打开,但过一会儿显示超时错误:
你能告诉我我做错了什么吗?
FirefoxProfile profile = new FirefoxProfile();
Proxy proxy = new Proxy();
proxy.IsAutoDetect = true;
profile.SetProxyPreferences(proxy);
IWebDriver driver = new FirefoxDriver(profile);
driver.Navigate().GoToUrl("http://www.google.com/");
我遇到了完全相同的问题,经过一天的努力,我终于解决了这个问题。
您需要安装以下版本的确切版本:
- C# 硒绑定:3.11.0
- Gecko 驱动程序:v0.19
- Firefox 版本:55
这不仅解决了我无法连接互联网的问题,还解决了实例化 FirefoxDriver 的问题。
以下是我用于实例化 Firefox 驱动程序的代码
var driverDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(driverDir, "geckodriver.exe");
service.HideCommandPromptWindow = true;
service.SuppressInitialDiagnosticInformation = true;
FirefoxOptions options = new FirefoxOptions();
IWebDriver Driver = new FirefoxDriver(service,options, TimeSpan.FromMinutes(1));
同样被指出here
但是,当您将 Firefox 更新到 v59 或更高版本时,您会再次看到同样的问题。
我正在使用以下配置:
- Win 10 64 位
- VS 企业版 2017
- C#测试项目
- Firefox 53.0.3(64 位)
- Gecko 驱动 geckodriver-v0.16.1-win64
- Selenium.WebDriver v3.4.0
和这个片段:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace Test
{
class Program
{
static void Main(string args)
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com");
}
}
}
当我 运行 这个程序时,Gecko 驱动程序启动并显示:
1496673391949 geckodriver INFO Listening on 127.0.0.1:62736
1496673393128 geckodriver::marionette INFO Starting browser \?\C:\Program Files\Mozilla Firefox\firefox.exe with args ["-marionette"]
Firefox 页面打开,但过一会儿显示超时错误:
你能告诉我我做错了什么吗?
FirefoxProfile profile = new FirefoxProfile();
Proxy proxy = new Proxy();
proxy.IsAutoDetect = true;
profile.SetProxyPreferences(proxy);
IWebDriver driver = new FirefoxDriver(profile);
driver.Navigate().GoToUrl("http://www.google.com/");
我遇到了完全相同的问题,经过一天的努力,我终于解决了这个问题。
您需要安装以下版本的确切版本:
- C# 硒绑定:3.11.0
- Gecko 驱动程序:v0.19
- Firefox 版本:55
这不仅解决了我无法连接互联网的问题,还解决了实例化 FirefoxDriver 的问题。 以下是我用于实例化 Firefox 驱动程序的代码
var driverDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(driverDir, "geckodriver.exe");
service.HideCommandPromptWindow = true;
service.SuppressInitialDiagnosticInformation = true;
FirefoxOptions options = new FirefoxOptions();
IWebDriver Driver = new FirefoxDriver(service,options, TimeSpan.FromMinutes(1));
同样被指出here 但是,当您将 Firefox 更新到 v59 或更高版本时,您会再次看到同样的问题。