1 pièce(s) jointe(s)
selenium télécharger ficiers référencés cette fois
Je suis désolé, je suis encore planté sur un autre type de fichiers.
Je me logue avec mot de passe, tout se passe bien. Je vais ensuite dans la rubrique que je souhaite : parfait.
J'ai des images du style pdf.jpg, ...
J'ai essayé à peu près tout ce que j'ai trouvé, y compris des trucs débiles.
Voici ce que j'ai lorsque je copie le xpath, le css, ...
Code:
1 2 3 4 5 6 7 8 9
| xpath : /html/body/div[2]/div[2]/div[4]/a[7]
chemin CSS : html body div#corps div.central div a
sélecteur CSS : .central > div:nth-child(7) > a:nth-child(27)
extérieur du html : <a href="index.php?module=Ftp&voir=inclusion&dist=direct/FtpChimie/bulletin/corr2022/c22lc1c.pdf" target="_blank"><img src="pdf.jpg" alt="c22lc1c.pdf"></a>
intérieur du html : <img src="pdf.jpg" alt="c22lc1c.pdf"> |
J'ai essayé avec notamment :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| liste_ext = ["pdf.jpg","doc.jpg","docx.jpg","tex.jpg","odt.jpg"]
contenu_lien = "index.php?module=Ftp&voir=inclusion&dist=direct/FtpChimie/bulletin"
print(contenu_lien)
def download_fichiers_chim():
for ext in liste_ext:
try:
print('img[src=\"{}\"]'.format(ext))
# nombre_liens = driver.find_elements(By.CSS_SELECTOR, 'img[src=\"{}\"]'.format(ext))
# nombre_liens = driver.find_elements(By.CSS_SELECTOR, "//*[contains(@href, {})]".format(contenu_lien))
# nombre_liens = driver.find_elements(By.XPATH, '/html/body/div[2]/div[2]/div[4]')
nombre_liens = driver.find_elements(By.XPATH, '//a[contains(@href,{})]'.format(contenu_lien))
# nombre_liens = driver.find_elements(By.XPATH, '//a[starts-with(@href,{})]'.format(contenu_lien))
# nombre_liens = driver.find_elements(By.XPATH, '//div[contains(@href,{})]'.format(contenu_lien))
print(nombre_liens)
for i in range(len(nombre_liens)):
# liens = driver.find_elements(By.CSS_SELECTOR, 'img[src=\"{}\"]'.format(ext))
# liens = driver.find_elements(By.CSS_SELECTOR, "//*[contains(@href, {})]".format(contenu_lien))
# liens = driver.find_elements(By.XPATH, '/html/body/div[2]/div[2]/div[4]')
liens = driver.find_elements(By.XPATH, '//a[contains(@href,{})]'.format(contenu_lien))
# liens = driver.find_elements(By.XPATH, '//a[starts-with(@href,{})]'.format(contenu_lien))
# liens = driver.find_elements(By.XPATH, '//div[contains(@href,{})]'.format(contenu_lien))
for j, lien in enumerate(liens):
if i != j:
continue
print(lien)
# ref = lien.get_attribute("href")
# driver.get(ref)
lien.click()
# time.sleep(5)
except:
pass |
A un moment donné, j'ai réussi à télécharger une dizaine de fichiers, mais uniquement du odt.
Si quelqu'un a une idée, ,je suis un peu paumé. Au pire, je ferai tout à la main...