2016-12-03 5 views
0

このコードを実行して、 "IWebDriver Driver = new OpenQA.Selenium.Chrome.ChromeDriver();" ChromeWebDriverに指示しないでこの方法で実行すると、「chromedriver.exeファイルが現在のディレクトリまたはPATH環境変数のディレクトリに存在しません」というメッセージが表示されます。Visual Studio C#Selenium:ドライバが見つかりません

私はChromeWebDriverへのパスを与えるとき、私はこれを取得:「エラーCS1009:認識できないエスケープシーケンス」

using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
    using System.Threading.Tasks; 
using System.Windows.Forms; 


namespace WindowsFormsApplication2 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
IWebDriver Driver = new OpenQA.Selenium.Chrome.ChromeDriver 
("C:\Users\stand\Documents\ 
Visual Studio 2015\Projects\WindowsFormsApplication2\ChromeWebDriver.exe"); 
      Driver.Navigate().GoToUrl("http://dallas.craigslist.org/"); 
     IWebElement Element = Driver.FindElement(By.Name("query")); 
     Element.SendKeys("cx-5"); 

     } 
    } 
} 

答えて

1

使用

IWebDriver Driver = new OpenQA.Selenium.Chrome.ChromeDriver (@"C:\Users\stand\Documents\Visual Studio 2015\Projects\WindowsFormsApplication2\ChromeWebDriver.exe"); 

バックスラッシュは文字列リテラルで特別な意味を持っています。すべてのバックスラッシュを複製することもできますし、この例のように文字列リテラルを "逐語的文字列リテラル"にすることもできます。にChromeWebDriver.exeファイルを追加します:逐語的文字列リテラルでは、バックスラッシュを使用すると、手動でexeファイルのフルパスを指定する必要がないことを意味別の解決策は、in this answer特別な意味


見つからないことができました自動的に自分のapplication.exeと同じフォルダにコピーされることを選択します。

+0

回答ありがとうございます! –

0

パスのバックスラッシュをエスケープするか、文字列リテラルを使用する必要があります。

IWebDriver Driver = new ChromeDriver (@"C:\Users\stand\Documents\Visual Studio 2015\Projects\WindowsFormsApplication2\ChromeWebDriver.exe");

+0

ありがとうございます。これは動作します! –

関連する問題