繁体   English   中英

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

[英]How to launch a specific URL with Firefox in C#

我正在尝试使用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命令行参数还可以完成很多其他工作。 您可以在这里找到所有这些文件: https : //developer.mozilla.org/zh-CN/docs/Mozilla/Command_Line_Options?redirectlocale=zh-CN&redirectslug=Command_Line_Options

这也适用于Chrome和Opera,只需调用

start opera wikipedia.de

而不是Firefox。

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

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

另外,如果您只想启动一个URL而又不与页面进行交互,那么Selenium就是多余的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM