当文件路径声明为变量时,无法打开硒网络驱动程序



我试图将文件路径设置为变量,然后打开Selenium webdriver。文件由用户定位,所以我需要此值作为变量,而不是原始粘贴文件路径。

当我使用它时:

FirefoxDriverService service = 
FirefoxDriverService.CreateDefaultService(@"C:...Geckodriver);
service.FirefoxBinaryPath = @"C:Program FilesMozilla Firefoxfirefox.exe";

一切都很好,但是当我用变量替换路径时,它不再起作用了。

    private void Form2_Load(object sender, EventArgs e)
    {
        using (IsolatedStorageFile iso = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null))
        {
            try
            {
                using (IsolatedStorageFileStream isos = new IsolatedStorageFileStream("firefoxpath.txt", System.IO.FileMode.Open, iso))
                {
                    using (System.IO.StreamReader sr = new System.IO.StreamReader(isos))
                    {
                        fpath = sr.ReadLine();
                    }
                }
            }
            catch { }
        }

        using (IsolatedStorageFile iso = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null))
        {
            try
            {
                using (IsolatedStorageFileStream isos = new IsolatedStorageFileStream("gecopath.txt", System.IO.FileMode.Open, iso))
                {
                    using (System.IO.StreamReader sr = new System.IO.StreamReader(isos))
                    {
                        gpath = sr.ReadLine();
                    }
                }
            }
            catch { }
        }
    }
    string fpath;
    string gpath;
    private void button1_Click(object sender, EventArgs e)
    {
        string elo;
        string byebye;
        elo = "@"xd"".Replace("xd", gpath);
        byebye = "@"xd"".Replace("xd", fpath);
        FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(elo);
        service.FirefoxBinaryPath = byebye;
        IWebDriver driver = new FirefoxDriver(service);
        IJavaScriptExecutor js = driver as IJavaScriptExecutor; 

        }
}

}

当您将Selenium与C#一起使用时,如果您的项目包含NuGet Package Manager Dependency,则无需在脚本或系统环境中为Chrome/Firefox/Edge定义任何路径。

驱动程序实用程序将在内部调用。

对于 Firefox : NuGet Package Manager 中的 Selenium.Firefox.WebDriver

相关内容

最新更新