Question sur selenium et chrome-driver
Bonjour
Mon problème ne concerne pas à WordPress, en tout cas pas directement, j'ai demandé à chatGPT de me faire une petite app avec sélénium, il y a l'extension chrome sharkdropship qui une fois installé ajoute un bouton sur les fiches produits de Amazon et eBay
J'ai demandé à chatGPT de me faire une app pour que à partir d'une liste d'URLs, l'application ouvre dans Chrome chacune de ces URL puis attendre que le bouton apparaisse puis clique dessus pour envoyer le produit sur mon site
Celle-ci ne fonctionne pas c'est-à-dire que Chrome est lancé mais la page ne se charge pas, lorsque j'en parle avec différents LLM, tous m'explique que le problème vient de la configuration avec Chrome driver mais le problème c'est que je fais tout ce qu'ils me disent de faire et pourtant ça ne fonctionne pas
Est-ce qu'il y a des gens qui pourraient m'aider à vérifier ça
Merci
- Menu de restaurant des voyageurs
- Mise a jour chrome - Accueil - Applications & Logiciels
- Realtek audio driver - Télécharger - Pilotes & Matériel
- Google chrome - Télécharger - Navigateurs
- Exporter favoris chrome - Guide
- Changer dns chrome - Guide
4 réponses
Bonjour,
Peux-tu préciser ton problème :
- que contient ton code actuellement ?
- quelle est le lien vers l'extension chrome dont tu parles ?
En admettant que chrome driver soit correctement installé, il n'est pas garanti que selenium puisse tirer partie des extensions (voir ici).
Avant de considérer selenium, tu devrais vérifier si tu ne peux pas faire plus propre et plus simple. Peut-on par exemple imaginer reproduire en python le comportement de cette extension afin d'avoir directement ces URLs ?
Je ne pense pas qu'un LLM soit l'idéal pour coder ou apprendre à coder ou t'aider à résoudre un problème de programmation non trivial.
L'IA de Bobot est là pour vous aider !
Il semble que vous ayez un problème avec Selenium et ChromeDriver. Voici quelques éléments que vous pouvez vérifier :
1. La version de Chromedriver : assurez-vous que la version de Chromedriver que vous utilisez est compatible avec la version de Chrome installée sur votre appareil. Les incompatibilités de versions peuvent causer des problèmes similaires à celui que vous rencontrez.
2. Le chemin du Chromedriver : veillez à ce que le chemin de votre Chromedriver soit correctement défini dans votre script Python. Si le chemin est incorrect, Python ne sera pas en mesure de lancer Chrome.
3. La configuration du browser : vérifiez que vous avez correctement configuré votre instance de navigateur dans Selenium. Vous devez autoriser le contrôle de l'extension à partir de votre application.
Si vous avez passé ces trois points en revue et que le problème persiste, pourriez-vous partager le code que vous utilisez pour lancer Chrome et interagir avec l'extension ? Cela pourrait aider à identifier plus précisément le problème.
Bonjour,
Malheureusement le code de cette extension ne semble pas public. Donc partons sur l'option selenium.
Il faut commencer par installer le driver qui sera utilisé par selenium. Par exemple sous Linux debian, le driver de Chrome/Chromium s'installe avec :
sudo apt update sudo apt install chromium-driver
Ensuite installe selenium (et beautifulsoup dont on aura besoin aussi) :
pip install selenium beautifulsoup4
Puis assure-toi déjà que tu peux lancer Chromium depuis selenium sans extension.
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.amazon.com")
Si ça marche, quitte ce chrome :
driver.quit()
... puis cette fois, charge ton extension, comme expliqué ici. Cela présuppose que tu as récupéré le fichier ".crx" de ton extension. Vu que ton extension semble payante, je ne peux pas te dire comment le récupérer.
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_extension("/chemin/vers/fichier.crx") driver = webdriver.Chrome(chrome_options=chrome_options) driver.get("https://www.amazon.com")
C'est à partir d'ici que tu peux traiter le contenu de la page (driver.page_source
) à l'aide beautifulsoup4.
from bs4 import BeautifulSoup soup = BeautifulSoup(driver.page_source, "html.parser") print(soup.prettify())
Ensuite, selon ce que tu veux extraire de soup il faut que tu lises un tutoriel sur BeautifulSoup pour extraire ce que tu veux.
Typiquement, dans un cas où tu aurais plusieurs pages à traiter, ton code deviendrait :
from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_extension("/chemin/vers/fichier.crx") driver = webdriver.Chrome(chrome_options=chrome_options) urls = [ "https://www.amazon.com", "https://www.google.com", # ... ] for url in urls: driver.get(url) soup = BeautifulSoup(driver.page_source, "html.parser") print(soup.prettify()) # ...
Une fois la ou les soupes désirées récupérées tu peux fermer chrome.
driver.quit()
Bonne chance
c'est l'extention https://www.sharkdropship.com : une fois installée, elle ajoute un bouton de téléchargement sur une fiche produit vers woo