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"); 

Backslash имеет особое значение в строковых литералов. Вы можете дублировать все обратные косые черты или как в этом примере сделать строковый литерал «стенографическим строковым литералом», добавив знак @ в начале. В стенографических строковых литералов, обратная косая черта не имеет особого значения


Другое решение, которое означает, что вам не придется вручную указать полный путь к файлу ехе можно найти in this answer: Добавить файл ChromeWebDriver.exe в проекта и выберите, чтобы он автоматически копировался в ту же папку, что и ваш собственный application.exe.

+0

Спасибо за ваш ответ! –

0

Вам нужно либо избежать обратных косых черт в пути, либо использовать строковые литералы.

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

+0

Спасибо. Это работает! –