简体   繁体   中英

Using Selenium css selector to extract data

Hello I did this code that returns to me a list of li , but I want to access to each a tag mentioned inside and open it, if you have any recommandation I would be very grateful

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import pandas as pd
import time

options = Options()

# Creating our dictionary
all_services = pd.DataFrame(columns=['Motif', 'Description'])

path = "C:/Users/Al4D1N/Documents/ChromeDriver_webscraping/chromedriver.exe"
driver = webdriver.Chrome(options=options, executable_path=path)

driver.get("https://www.mairie.net/national/acte-naissance.htm#plus")

list_of_services = driver.find_elements_by_css_selector(".list-images li")

I know that I need to iterate in each list_of_services Item, but I don't know how can I open each a tag since they all don't have classes or ids that can help me to make difference between them

This is one way to extract all of the links within the hrefs.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import pandas as pd
import time

options = Options()

# Creating our dictionary
all_services = pd.DataFrame(columns=['Motif', 'Description'])

path = "C:/Users/Al4D1N/Documents/ChromeDriver_webscraping/chromedriver.exe"
driver = webdriver.Chrome(options=options, executable_path=path)

driver.get("https://www.mairie.net/national/acte-naissance.htm#plus")

#Get all elements in class 'list-images'
list_of_services = driver.find_elements_by_class_name("list-images")

for service in list_of_services:
    #In each element, select the atags
    atags = service.find_elements_by_css_selector('a')
    for atag in atags:
        #In each atag, select the href
        href = atag.get_attribute('href')

Output:

https://www.mairie.net/national/acte-mariage.htm#acte-naissance
https://www.mairie.net/national/acte-deces.htm#acte-naissance
https://www.mairie.net/national/carte-identite.htm#acte-naissance
https://www.mairie.net/national/passeport.htm#acte-naissance
https://www.mairie.net/national/casier-judiciaire.htm#acte-naissance
https://www.mairie.net/national/demande-carte-electorale.htm#acte-naissance
https://www.mairie.net/national/cadastre-plu.htm#acte-naissance
https://www.mairie.net/national/carte-grise-en-ligne-par-internet.htm#acte-naissance
https://www.mairie.net/national/certificat-non-gage.htm#acte-naissance
https://www.mairie.net/national/permis-conduire-delivrance.htm#acte-naissance
https://www.mairie.net/national/changement-adresse.htm#acte-naissance

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM