Я новичок в Selenium, использую C#. Всякий раз, когда я пытаюсь запустить простой код, я получаю:
Exception thrown: 'OpenQA.Selenium.WebDriverException' in WebDriver.dll
каждый раз.
Примечание. Я использую Win 10, Visual Studio Enterprise Edition 2015, Selenium 3x и последнюю версию Chrome. Ниже приведен код. Заранее спасибо
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Selenium1
{
class Program
{
static void Main(string[] args)
{
//Create the reference
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://www.google.com");
IWebElement ele = driver.FindElement(By.Id("gs_htif0"));
ele.SendKeys("Execute Automation");
}
}
}
Получение следующего исключения:
Получать следующее исключение каждый раз, не повезло .. Я все перепробовал.

Вы правильно добавили ссылки? разверните и покажите свои ссылки и версию веб-драйвера.
Да, я установил все ссылки: См. Снимок экрана:





как ваше изображение показывает, что вы правильно установили ссылки, но все же кажется конфигурационные проблемы со ссылками, вам нужно объявить пространства имен, а затем посмотреть, возникают ли ошибки или нет,
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome; // or more specific its ok you get no error till here
Я надеюсь, что варианты будут для вас проблемой, тогда вам также понадобятся некоторые параметры конфигурации, которые нужно предоставить в конструкторе,
var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.default_directory", "YOUR_DownloadPath");
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
chromeOptions.AddArguments("disable-infobars");
затем используйте
try{
IWebDriver Driver = new ChromeDriver(chromeOptions);
}catch(Exception e){Console.writeLine(e);}
вам нужно поместить свой код в блок try catch, Таким образом, вы можете получить полную трассировку исключений ошибок и, пожалуйста, предоставьте их нам. Вам удалось открыть браузер Chrome? ок, браузер Chrome может открыться, Ссылайтесь на это, может быть повторяющийся вопрос, ваш код использует новый веб-драйвер на основе марионетки, а не драйвер gecko.
попробуйте использовать диспетчер пакетов Nuget и снова загрузите ссылки на сборки
Да, браузер Chrome открыт, но после открытия браузера ничего не произошло.
Хорошо, позволь мне попробовать еще раз
Ниже приведен образец тестового класса и то, как я создаю драйвер.
driver = new OpenQA.Selenium.Chrome.ChromeDriver();
И из своих пакетов NuGet я использую Selenium.Chrome.WebDriver 2.41.0, Selenium.WebDriver.ChromeDriver и Selenium.WebDriver 3.14, Selenium.Support 3.14.
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
namespace MyTest.UITest
{
class Program
{
static void Main(string[] args)
{
//Create the reference
IWebDriver driver =new OpenQA.Selenium.Chrome.ChromeDriver();
driver.Navigate().GoToUrl("http://www.google.com");
IWebElement ele = driver.FindElement(By.Id("gs_htif0"));
ele.SendKeys("Execute Automation");
}
}
}
С тех пор, как ты меня не веришь;)
Есть ли проблема совместимости ??
Вы добавили все пакеты из NuGet, как я?
Да. Вы можете сослаться на скриншот
Да, я полностью скопировал / вставил. Это то, что я получаю, поэтому я ломаю голову, чего мне не хватает. Я использую Win 10 и Visual Studio Enterprise 2015 Update 3. Просто начало, и я застрял только в этом.
извините за неудобства, возникла проблема, связанная с совместимостью между моим браузером и драйвером, который я использовал. С совместимым драйвером и браузером все работает нормально. Спасибо всем за помощь.
Я также столкнулся с той же проблемой и не смог продолжить. В списке ошибок у меня было несколько ошибок, когда он пытался скопировать файл драйвера Chrome, но не мог получить к нему доступ, поскольку его использовал какой-то другой процесс. Я считаю, что он не был должным образом утилизирован в предыдущем прогоне, который открыл пару сеансов консоли и не закрылся, их закрытие просто устранило эту проблему. Спасибо.
Обновите вопрос с помощью трассировки стека ошибок