0

J'essaye de configurer un environnement pour exécuter du sélénium avec C# dans Ubuntu. J'utilise Visual Studio Code comme IDE. Tout le reste est configuré mais je reçois constamment des erreurs.Exécuter le pilote web Selenium avec C# dans Ubuntu 16.04

Voici mon code:

using System; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 

namespace c_sharp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      IWebDriver driver = new ChromeDriver(); 
      driver.Url = "http://quotes.toscrape.com/"; 
     } 
    } 
} 

Voici le message d'erreur complet que je reçois:

/home/sagunsh/c-sharp/c-sharp.csproj : warning NU1701: Package 
'Selenium.WebDriver 3.5.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. 
/home/sagunsh/c-sharp/c-sharp.csproj : warning NU1701: Package 'Selenium.WebDriver 3.5.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. 
Starting ChromeDriver 2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8) on port 51621 
Only local connections are allowed. 

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Security.Permissions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified. 

    at Newtonsoft.Json.Serialization.JsonTypeReflector.get_DynamicCodeGeneration() 
    at Newtonsoft.Json.Serialization.JsonTypeReflector.get_ReflectionDelegateFactory() 
    at Newtonsoft.Json.Serialization.DefaultContractResolver.GetDefaultCreator(Type createdType) 
    at Newtonsoft.Json.Serialization.DefaultContractResolver.InitializeContract(JsonContract contract) 
    at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDictionaryContract(Type objectType) 
    at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type) 
    at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType) 
    at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType) 
    at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer) 
    at OpenQA.Selenium.Remote.Command.get_ParametersAsJsonString() 
    at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute) 
    at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) 
    at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) 
    at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 
    at c_sharp.Program.Main(String[] args) in /home/sagunsh/c-sharp/Program.cs:line 11 

J'ai perdu les 12 dernières heures pour savoir où est-ce que je me trompe. Je suis un développeur python mais pour une raison quelconque, j'ai besoin d'utiliser C# maintenant et je suis complètement nouveau. Toute aide serait très appréciée.

+0

sont u définir le chemin du chromedriver – iamsankalp89

+0

oui le chemin est défini, toutes les autres choses vont bien puisque je fais beaucoup de sélénium avec python aussi. –

+0

Webdriver.dll est manquant Je devine – iamsankalp89

Répondre

0

Apparemment, il manque Webdriver.dll.

Pour résoudre ce problème

  1. Cliquez sur la Webdriver dll référence
  2. Dans la fenêtre des propriétés assurez-vous que copylocal = true

Je pense que vous devez définir chemin de chromedriver, essayez cette

namespace c_sharp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      IWebDriver driver = new ChromeDriver(@"E:\chrome\chromedriver_32.exe"); 
      driver.Url = "http://quotes.toscrape.com/"; 
     } 
    } 
} 
+0

Je l'utilise sur Ubuntu. Cela a-t-il du sens? –

+0

Je dois vérifier chère laissez-moi essayer – iamsankalp89