Question Selenium et ses dépendances
- Caramen
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 3 mois 3 semaines - il y a 3 mois 3 semaines #34465
par Caramen
Selenium et ses dépendances a été créé par Caramen
Bonjour,
Déjà, je suis nouveau sur ce forum donc bonjour à tous, je suis dev confirmé sur plusieurs langages.
Mais j'avoue être un peu perdu sur un sujet.
J'ai souvent fait de l'automatisation pour mes clients dans le professionnel, mais j'ai un sujet qui me chagrine, il y aurait apparemment eu des changements notables sur l'automatisation avec chrome driver et sélénium.
Mais la, on me demande bientôt de démarrer un projet pour lequel je vais devoir migrer une solution automatisée en PowerShell de chrome vers firefox avec ces outils.
Avant soit j'installais le module sélénium puis je commençais avec l'exécutable de ChromeDriver. Ainsi de suite.
Donc avant de débuter mon projet d'ici à quelques jours, je me suis dit que j'allais remettre le nez dans ces outils et badaboum, je suis perdu
Je demande à vos âmes charitables de bien vouloir m'aider à commencer un petit script qui ouvrirait l'explorateur Chrome et Mozilla pour naviguer vers google.
Juste pour m'aiguiller sur les installations, car ce sont les seules choses qui me perdent. Le reste, je pense que je m'en sortirai… 'lol'.
Biensûr avant de venir chercher de l'aide ici j'ai testé chat GPT et fait mon script, mais rien ne fonctionne. Je ne fais que tourner en rond. Je pense que c'est lié à la date de data base de GPT qui n'est plus d'actualité pour l'installation des outils. Ou à mon cerveau défaillant .
Voici le script que j'ai fait, mais qui ne fonctionne pas :
J'ai vérifié et revérifié les dépendances, les répertoires... rien n'y fait
Erreur lors de la création de l'instance de ChromeDriver:
Exception lors de l'appel de « .ctor » avec « 1 » argument(s) : « Une exception a été levée par l'initialiseur de type pour 'OpenQA.Selenium.SeleniumManager'. »
Help please !
Déjà, je suis nouveau sur ce forum donc bonjour à tous, je suis dev confirmé sur plusieurs langages.
Mais j'avoue être un peu perdu sur un sujet.
J'ai souvent fait de l'automatisation pour mes clients dans le professionnel, mais j'ai un sujet qui me chagrine, il y aurait apparemment eu des changements notables sur l'automatisation avec chrome driver et sélénium.
Mais la, on me demande bientôt de démarrer un projet pour lequel je vais devoir migrer une solution automatisée en PowerShell de chrome vers firefox avec ces outils.
Avant soit j'installais le module sélénium puis je commençais avec l'exécutable de ChromeDriver. Ainsi de suite.
Donc avant de débuter mon projet d'ici à quelques jours, je me suis dit que j'allais remettre le nez dans ces outils et badaboum, je suis perdu
Je demande à vos âmes charitables de bien vouloir m'aider à commencer un petit script qui ouvrirait l'explorateur Chrome et Mozilla pour naviguer vers google.
Juste pour m'aiguiller sur les installations, car ce sont les seules choses qui me perdent. Le reste, je pense que je m'en sortirai… 'lol'.
Biensûr avant de venir chercher de l'aide ici j'ai testé chat GPT et fait mon script, mais rien ne fonctionne. Je ne fais que tourner en rond. Je pense que c'est lié à la date de data base de GPT qui n'est plus d'actualité pour l'installation des outils. Ou à mon cerveau défaillant .
Voici le script que j'ai fait, mais qui ne fonctionne pas :
# Définir le chemin de NuGet.exe
$nugetPath = "C:\NuGet\nuget.exe"
# Fonction pour télécharger NuGet.exe si ce n'est pas déjà fait
function Download-NuGet {
$nugetUrl = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$nugetDir = "C:\NuGet"
$nugetPath = "$nugetDir\nuget.exe"
if (-not (Test-Path -Path $nugetPath)) {
if (-not (Test-Path -Path $nugetDir)) {
New-Item -ItemType Directory -Path $nugetDir
}
Invoke-WebRequest -Uri $nugetUrl -OutFile $nugetPath
}
return $nugetPath
}
# Fonction pour vérifier et installer un package NuGet
function Install-NuGetPackageIfNeeded {
param (
[string]$packageName,
[string]$sourceUrl,
[string]$outputDir
)
$packageInstalled = & $nugetPath list $packageName | Select-String $packageName
if (-not $packageInstalled) {
Write-Output "Le package $packageName n'est pas installé. Installation en cours..."
& $nugetPath install $packageName -Source $sourceUrl -OutputDirectory $outputDir
} else {
Write-Output "Le package $packageName est déjà installé."
}
}
# Télécharger NuGet.exe si nécessaire
$nugetPath = Download-NuGet
# URL de la source des packages
$nugetSource = 'https://www.nuget.org/api/v2'
$outputDirectory = "C:\NuGet\Packages"
# Installer les packages nécessaires
Install-NuGetPackageIfNeeded -packageName 'Selenium.WebDriver' -sourceUrl $nugetSource -outputDir $outputDirectory
Install-NuGetPackageIfNeeded -packageName 'Selenium.WebDriver.ChromeDriver' -sourceUrl $nugetSource -outputDir $outputDirectory
Install-NuGetPackageIfNeeded -packageName 'Newtonsoft.Json' -sourceUrl $nugetSource -outputDir $outputDirectory
# Définir les chemins des DLL et des exécutables
$seleniumWebDriverDir = "$outputDirectory\Selenium.WebDriver.4.21.0\"
$chromeDriverDir = "$outputDirectory\Selenium.WebDriver.ChromeDriver.126.0.6478.6200\"
$jsonNetDir = "$outputDirectory\Newtonsoft.Json.13.0.1\"
# Trouver les DLL et les drivers
$seleniumWebDriverPath = Get-ChildItem -Path $seleniumWebDriverDir -Recurse -Filter "WebDriver.dll" | Select-Object -First 1
$jsonNetPath = Get-ChildItem -Path $jsonNetDir -Recurse -Filter "Newtonsoft.Json.dll" | Select-Object -First 1
$chromeDriverPath = Get-ChildItem -Path $chromeDriverDir -Recurse -Filter "chromedriver.exe" | Select-Object -First 1
# Charger les types nécessaires
try {
Add-Type -Path $jsonNetPath.FullName
Add-Type -Path $seleniumWebDriverPath.FullName
} catch {
Write-Host "Erreur lors du chargement des types avec Add-Type:"
Write-Host $Error[0].Exception.Message
if ($Error[0].Exception.LoaderExceptions) {
Write-Host "Détails LoaderExceptions :"
$Error[0].Exception.LoaderExceptions | ForEach-Object {
Write-Host $_.Message
}
}
}
# Ajouter ChromeDriver au PATH pour qu'il puisse être trouvé par Selenium
$env:Path += ";$($chromeDriverPath.DirectoryName)"
# depart de l'automatisation
# Créer une instance de ChromeDriver
try {
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($chromeOptions)
Write-Host "ChromeDriver lancé avec succès."
} catch {
Write-Host "Erreur lors de la création de l'instance de ChromeDriver:"
Write-Host $_.Exception.Message
exit
}
# Naviguer vers une page web
$driver.Navigate().GoToUrl("https://www.google.com")
Start-Sleep -Seconds 2 # Attendre que la page se charge
# Rechercher un élément sur la page (par exemple, la barre de recherche Google)
$searchBox = $driver.FindElementByName("q")
$searchBox.SendKeys("PowerShell Selenium")
# Soumettre le formulaire de recherche
$searchBox.Submit()
# Attendre que la page de résultats se charge
Start-Sleep -Seconds 2
# Fermer le navigateur
$driver.Quit()
J'ai vérifié et revérifié les dépendances, les répertoires... rien n'y fait
Erreur lors de la création de l'instance de ChromeDriver:
Exception lors de l'appel de « .ctor » avec « 1 » argument(s) : « Une exception a été levée par l'initialiseur de type pour 'OpenQA.Selenium.SeleniumManager'. »
Help please !
Dernière édition: il y a 3 mois 3 semaines par Caramen.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 3 mois 6 jours #34490
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Selenium et ses dépendances
Bonjour Caramen,
Ton message est-il toujours d'actualité ou as-tu pu avancer ?
Arnaud
Ton message est-il toujours d'actualité ou as-tu pu avancer ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.059 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Selenium et ses dépendances