Question sur selenium et chrome-driver

cyril111 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -

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

A voir également:

4 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 

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.

0
cyril111 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
 

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

0
BoBot Messages postés 6033 Date d'inscription   Statut Modérateur Dernière intervention   382
 
Bonjour !
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.

0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 

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

0
cyril111 Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
 

Ouais c'est ce que j'ai fait, enfin pas moi mais ce sont des LLM qui m'ont donné ces instructions et le même code sauf que ça ne fonctionne pas, sinon est-ce que tu utilises bas ou power automate?

0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 

Non, je travaille sous Linux. Je ne connais pas ces outils dont tu parles.

0