Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
66 views
in Technique[技术] by (71.8m points)

python - Selenium is returning empty lists

Code trials:

import selenium
from selenium import webdriver

PATH = 'C:Program Files (x86)chromedriver.exe'
driver = webdriver.Chrome(PATH)

driver.get('https://www.emag.ro/label/laptopuri/Laptopuri-cu-Windows/c?ref=hp_menu_quick-nav_1_2&type=link')

name = driver.find_elements_by_class_name('card-body product-title-zone')
name

This is returning an empty list. I'm sure that's where the name of the product is because I'm hovering over it and I can see it.

Thank you in advance for the help

question from:https://stackoverflow.com/questions/65860177/selenium-is-returning-empty-lists

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

To extract and print the texts e.g. Apple, Orange, etc from all of the <li class="Fruit"> using Selenium and you can use either of the following Locator Strategies:

  • Using css_selector:

    driver.get("https://www.emag.ro/label/laptopuri/Laptopuri-cu-Windows/c?ref=hp_menu_quick-nav_1_2&type=link")
    print([my_elem.text for my_elem in driver.find_elements_by_css_selector("h2.card-body.product-title-zone > a")])
    
  • Using xpath:

    driver.get("https://www.emag.ro/label/laptopuri/Laptopuri-cu-Windows/c?ref=hp_menu_quick-nav_1_2&type=link")
    print([my_elem.text for my_elem in driver.find_elements_by_xpath("//h2[@class='card-body product-title-zone']/a")])
    

Ideally you need to induce WebDriverWait for visibility_of_all_elements_located() and you can use either of the following Locator Strategies:

  • Using CSS_SELECTOR:

    driver.get("https://www.emag.ro/label/laptopuri/Laptopuri-cu-Windows/c?ref=hp_menu_quick-nav_1_2&type=link")
    print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "h2.card-body.product-title-zone > a")))])
    
  • Using XPATH:

    driver.get("https://www.emag.ro/label/laptopuri/Laptopuri-cu-Windows/c?ref=hp_menu_quick-nav_1_2&type=link")
    print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//h2[@class='card-body product-title-zone']/a")))])
    
  • Note : You have to add the following imports :

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • Console Output:

    ['Laptop ultraportabil Huawei MateBook D14 2020 cu procesor AMD Ryzen? 7 3700U pana la 4.00 GHz, 14", Full HD, 8GB, 512GB SSD, AMD Radeon Graphics, Windows Home, Silver', 'Laptop ASUS ProArt StudioBook One W590G6T cu procesor Intel? Core? i9-9980HK pana la 5GHz, 15.6" Full HD, 64GB, 1TB SSD, NVIDIA? Quadro? RTX 6000 24GB, Windows 10 Pro, Star Grey', 'Laptop Lenovo IdeaPad 3 15ADA05 cu procesor AMD Ryzen 5 3500U pana la 3.70 GHz, 15.6", Full HD, 8GB, 256GB SSD, AMD Radeon Vega 8 Graphics, Windows 10 Home, Platinum Grey', 'Laptop ultraportabil Huawei MateBook D15 2020 cu procesor AMD Ryzen? 7 3700U pana la 4.00 GHz, 15.6", Full HD, 8GB, 512GB SSD, AMD Radeon Graphics, Windows Home, Silver', 'Laptop 2 in 1 Dell Inspiron 5406 cu procesor Intel Core i5-1135G7 pana la 4.20 GHz, 14", Full HD, 8GB, 256GB SSD, Intel Iris Xe Graphics, Windows 10 Home, Grey', 'Laptop HP 15s-eq0777nd cu procesor AMD Ryzen? 5 3500U pana la 3.70 GHz, 15.6", Full HD, 16GB, 512GB SSD, AMD Radeon? Vega 8 Graphics, Windows 10 Home, Natural silver', 'Laptop 2 in1 Lenovo IdeaPad Flex 5 15IIL05 cu procesor Intel? Core? i5-1035G1, 15.6" HDR UHD, Touchscreen, 8GB, 512GB SSD, Intel? UHD Graphics, Windows 10 Home, Platinum Grey', 'Laptop ultraportabil Acer Swift 1 SF114-33 cu procesor Intel? Pentium? Silver N5030 pana la 3.10, 14", Full HD, 8GB, 256GB SSD, Intel UHD Graphics, Windows 10 Home, Gold', 'Laptop Lenovo IdeaPad 3 15IIL05 cu procesor Intel? Core? i5-1035G1, 15.6" Full HD, 8GB, 256GB SSD, Intel? UHD Graphics, Windows 10 Home, Platinum Grey', 'Laptop Gaming Acer Predator Helios 300 PH315-53 cu procesor Intel Core i5-10300H pana la 4.50 GHz, 15.6", Full HD, 144Hz, 16GB, 256GB SSD, NVIDIA GeForce RTX2060 6GB, Windows 10 Home, Black', 'Laptop Gaming Acer Predator Helios 700 PH717-72 cu procesor Intel? Core? i9-10980HK pana la 5.30, 17.3", Full HD, 144Hz, 32GB, 2TB SSD RAID, NVIDIA? GeForce RTX 2080 Super? 8GB, Windows 10 Home, Black', 'Laptop ultraportabil HP 245 G7 cu procesor AMD Ryzen 3 3300U pana la 3.50 GHz, 14", HD, 4GB, 1TB HDD, AMD Radeon? Vega 6 Graphics, Windows 10 Home, Black', 'Laptop HP 15-db1050nq cu procesor AMD Ryzen? 3 3200U pana la 3.50 GHz, 15.6", Full HD, 4GB, 256GB SSD, AMD Radeon? Vega 3, Windows 10 Home, Black', 'Laptop ultraportabil HP 14s-dq1931nd cu procesor Intel? Core? i3-1005G1 pana la 3.40 GHz, 14", Full HD, 4GB, 128GB SSD, Intel UHD Graphics, Windows 10 Home S, Black', 'Laptop ultraportabi Acer Swift 1 SF114-33 cu procesor Intel? Celeron? Quad Core Processor N4120 pana la 2.60 GHz, 14", Full HD, 4GB, 256GB SSD,Windows 10 Home, Silver', 'Laptop ultraportabil Huawei MateBook X Pro 2020 cu procesor Intel? Core? i7-10510U pana la 4.90 GHz, 13.9", 3K, Touch, 16GB, 1TB SSD, NVIDIA? GeForce? MX250 2GB, Windows 10 Pro, Emerald Green', 'Laptop ultraportabil Lenovo V14-ADA cu procesor AMD Ryzen 3 3250U pana la 3.50 GHz, 14", Full HD, 8GB, 256GB SSD, AMD Radeon RX Vega 3, Windows 10 Home, Iron Grey', 'Laptop ultraportabil Huawei MateBook D14 2020 cu procesor AMD Ryzen? 5 3500U pana la 3.70 GHz, 14", Full HD, IPS, 8GB, 512GB SSD, Radeon? Vega 8, Windows 10 Home, Mystic Silver', 'Laptop ultraportabil Insys cu procesor Intel Core i3-5005U 2.00 GHz, 14.1" Full HD, 8GB, 256GB SSD, Intel HD Graphics 5500, Windows 10 Pro, Grey', 'Laptop HP 17-by3025nq cu procesor Intel? Core? i5-1035G1 pana la 3.60 GHz, 17.3", Full HD, 8GB, 1TB HDD + 256GB SSD, NVIDIA? GeForce? MX330, Windows 10 Home, Natural Silver', 'Laptop Gaming ASUS TUF A17 FA706QR cu procesor AMD Ryzen? 7 5800H pana la 4.30 GHz, 17.3", Full HD, 144Hz, 16GB, 512GB SSD, NVIDIA? GeForce RTX? 3070 8GB, Windows 10 Home, Eclipse Gray', 'Laptop ASUS ProArt StudioBook H500GV cu procesor Intel? Core? i7-9750H pana la 4.5GHz, 15.6" 4K UHD, 16GB, 512GB SSD, NVIDIA? GeForce? RTX 2060 6GB, Windows 10 Pro, Star Grey', 'Laptop ultraportabil Huawei MateBook X Pro 2020 cu procesor Intel? Core? i5-10210U pana la 4.20 GHz, 13.9", 3K, Touch, 16GB, 512B SSD, NVIDIA? GeForce? MX250 2GB, Windows 10 Pro, Space Gray', 'Laptop Gaming Acer Predator Helios 300 PH317-54 cu procesor Intel? Core? i7-10750H pana la 5.00 GHz, 17.3", Full HD, 120Hz, 8GB, 512GB SSD, NVIDIA? GeForce RTX? 2060 6GB, Windows 10 Home, Black', 'Laptop ultraportabil HP 14s-fq0710nd cu procesor AMD Athlon? 3020e pana la 2.60 GHz, 14", Full HD, 4GB, 64GB eMMC, AMD Radeon? Graphics, Windows 10 Home S, Black', 'Laptop Gaming Acer Predator Helios 300 PH315-53 cu procesor Intel Core i5-10300H pana la 4.50 GHz, 15.6”, Full HD, 144Hz, 16GB, 512GB SSD, NVIDIA GeForce RTX2060 6GB, Windows 10 Home, Black', 'Laptop ultraportabil ASUS ZenBook S UX371EA cu procesor Intel? Core? i5-1135G7 pana la 4.2GHz, 13.3" Full HD, 8GB, 512GB SSD, Intel? Iris? Plus Graphics, Windows 10 Pro, Jade Black', 'Laptop ultraportabil Lenovo Yoga Slim 9 14ITL5 cu procesor Intel Core i7-1165G7 pana la 4.70, 14", UHD, Touch, 16GB, 1TB SSD, Intel Iris Xe Graphics, Windows 10 Home, Shadow Black', 'Laptop ultraportabil HP EliteBook 840 G7 cu procesor Intel Core i5-10210U pana la 4.20 GHz, 14", Full HD, 8GB, 256GB SSD, Intel UHD Graphics, Windows 10 Pro, Silver', 'Laptop Gaming Dell Inspiron G5 15 5505 cu procesor AMD Ryzen 5 4600H pana la 4.00 GHz, 15.6", Full HD, 144Hz, 8GB, 256GB SSD, AMD Radeon RX 5600M, Windows 10 Home, Supernova Silver', 'Laptop ultraportabil Huawei MateBook 14 cu procesor AMD Ryzen 5 4600H pana la 4.00 GHz, 14", 2K, 8GB, 256GB SSD, AMD Radeon Graphics, Windows 10 Home, Gray', 'Laptop Gaming ASUS ROG Zephyrus G14 GA401IU cu procesor AMD Ryzen? 7 4800HS pana la 4.30 GHz, 14", Full HD, 120Hz, 16GB, 512GB SSD, NVIDIA? GeForce? GTX 1650Ti 4GB, Windows 10 Home, Moonlight White AniMe Matrix', 'Laptop Huawei MateBook D15 2020 cu procesor AMD Ryzen? 5 3500U pana la 3.70 GHz, 15.6", Full HD, IPS, 8GB, 256GB SSD, Radeon? Vega 8, Windows 10 Home, Mystic Silver', 'Laptop ultraportabil Allview Allbook Q cu procesor Qualcomm? Snapdragon? 835 pana la 2.45 GHz, 13.3", Full HD, IPS, 4GB, 64GB UFS 2.1, 4G, Qualcomm? Adreno? 540, Windows 10 Home', 'Laptop 2 in 1 Lenovo Yoga C940-14IIL cu procesor Intel? Core? i7-1065G7 pana la 3.90 GHz ICe Lake, 14", UHD, Touch, 16GB, 1TB SSD, Intel? Iris Plus Graphics, Windows 10 Home, Iron Grey', 'Laptop ultraportabil ASUS ZenBook 14 UX435 cu procesor Intel? Core? i7-1165G7 pana la 4.70 GHz, 14", Full HD, 16GB, 1TB SSD, Intel Iris X? Graphics, Windows 10 Pro, Pine Grey', 'Laptop ultraportabil HP ENVY 13-ba0000nn cu procesor Intel? Core? i5-1035G1 pana la 3.60 GHz, 13.3", Full HD, 8GB, 256GB SSD, Intel UHD Graphics, Windows 10 Home, Natural Silver', 'Laptop ultraportabil Huawei MateBook 14 cu procesor AMD Ryzen 5 4600H pana la 4.00 GHz, 14", 2K, 16GB, 512GB SSD, AMD Radeon Graphics, Windows 10 Home, Gray', 'Laptop ultraportabil Lenovo ThinkPad T14 cu procesor Intel Core i7-10510U pana la 4.90 GHz, 14", Full HD, 16GB, 512GB SSD, Intel UHD Graphics, Windows 10 Pro, Black', 'Laptop ultraportabil HP EliteBook 840 G7 cu procesor Intel Core i7-10510U pana la 4.90 GHz, 14", Full HD, 16GB, 512GB SSD, Intel UHD Graphics, Windows 10 Pro, Silver', 'Laptop Lenovo Yoga Slim 7 14IIL05 cu procesor Intel? Core? i7-1065G7, 14" HDR UHD, 16GB, 1TB SSD, Intel? Iris? Plus Graphics, Windows 10 Home, Slate Grey', 'Laptop ultraportabil Toshiba Dynabook Tecra X40-E-1F4 cu procesor Intel Core i7-8550U pana la 4.00 GHz, 14", Full HD, 16GB, 512 SSD, Intel UHD Graphics, Windows 10 Pro, Black', 'Laptop 2 in 1 Microsoft Surface Pro 7 cu procesor Intel Core i5-1035G4 pana la 3.70 GHz, 12.3", Pixel Sense, Touch, 8GB, 128GB SSD, Intel Iris Plus Graphics, Windows 10 Home, Black', 'Laptop ultraportabil HP Pavilion 14-ce3013nq cu procesor Intel Core i5-1035G1 pana la 3.60 GHz, 14", Full HD, 16GB, 512GB SSD, Nvidia GeForce MX130 2GB, Windows 10 Home, Mineral silver', 'Laptop Gaming ASUS TUF A15 FA506QR cu procesor AMD Ryzen? 7 5800H pana la 4.30 GHz, 15.6", Full HD, 240Hz, 16GB, 1TB SSD, NVIDIA? GeForce RTX? 3070 8GB, Windows 10 Home, Eclipse Gray', 'Laptop ASUS ZenBook Flip UX363EA cu procesor Intel? Core? i7-1165G7 pana la 4.7GHz, 13.3" Full HD, 16GB, 1TB SSD, Intel? Iris? Plus Graphics, Windows 10 Pro, Pine Grey', 'Laptop 15s-fq1008nd cu procesor Intel? Core? i3-1005G1 pana la 3.40 GHz, 15.6", Full HD, 4GB, 128GB SSD, Intel UHD Graphics, Windows 10 Home S, Silver', 'Laptop ultraportabil ASUS ZenBook UM433IQ cu procesor AMD Ryzen? 5 4500U pana la 4GHz, 14" Full HD, 8GB, 512GB SSD, NVIDIA? GeForce? MX350 2GB, Windows 10 Home, Light Grey', 'Laptop HP EliteBook 840 G7 cu procesor Intel? Core? i5-10210U pana la 4.20 GHz, 14", Full HD, 16GB, 256GB SSD, Intel? UHD Graphics 620, Windows 10 Pro, Natural Silver', 'Laptop HP ENVY 15-ep0006nq cu procesor Intel? Core? i7-10750H pana la 5.00 GHz, 15.6", Full HD, 16GB, 512GB SSD, NVIDIA? GeForce? GTX 1660 Ti with Max-Q 6GB, Windows 10 Home, Silver', 'Laptop ultraportabil Lenovo ThinkPad E14, cu procesor Intel Core i5-10210U pana la 4.20 GHz, 14", Full HD, 8GB, 512GB SSD, Intel UHD Graphics, Windows 10 Pro, 

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...