如何使用C#在Firefox中启动特定的URL

我正在尝试使用Firefox启动特定的URL。 但我只能打开Firefox浏览器而无法启动该URL。

class BrowserHelper { IWebDriver driver; string path = Path.Combine(Environment.CurrentDirectory, @"gecko\\"); public void Navigate(string url) { path = path.Replace(@"\", @"\\"); var driverService = FirefoxDriverService.CreateDefaultService(path); driverService.HideCommandPromptWindow = true; if (driver == null) { driver = new FirefoxDriver(driverService); } driver.Url = url; driver.Navigate().GoToUrl(driver.Url); driver.Manage().Window.Maximize(); } } class Realtest { BrowserHelper BH = new BrowserHelper(); public void test() { string search ="apple"; BH.Navigate("https://www.google.com/search?q=" + search); } } 

我只能得到这个页面: 在此处输入图像描述

以下是我要发布的最终url: https : //www.google.com.sg/search?q = apple

有什么建议? 提前致谢。

我已经尝试了下面的代码(在Java中),并且通过启动浏览器并加载URL也可以正常工作。

 System.setProperty("webdriver.gecko.driver","Drivers/geckodriver.exe"); WebDriver driver = new FirefoxDriver(); driver.get("https://www.google.com.sg/search?q=apple"); 

所以我觉得问题出在本地机器上安装了geckodriver版本和FireFox浏览器。 我建议你将FireFox和geckodriver更新到最新版本。

使用带有c#的命令行还有一个非常简单的解决方案。

只需执行以下命令即可打开具有给定URL的新Firefox选项卡:

 start firefox wikipedia.de 

如果您愿意,也可以启动新的Firefox实例:

 start firefox -new-instance wikipedia.de 

最后但并非最不重要的是.Net代码在CLI中执行命令:

 System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo() { Arguments = "/c start firefox wikipedia.de", CreateNoWindow = true, FileName = "CMD.exe" }); 

Firefox commandLine参数还可以完成很多其他工作。 你可以在这里找到所有这些: https : //developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options?redlocale = en-US&redctsctsg /Command_Line_Options

这也适用于chrome和opera,只需调用即可

 start opera wikipedia.de 

而不是Firefox。

您不需要设置driver.Url ,删除该行。

 driver.Navigate().GoToUrl(url); driver.Manage().Window.Maximize(); 

此外,如果您只是想在不与页面交互的情况下启动单个URL,那么Selenium就太过分了。