繁体   English   中英

Selenium 无法通过 xpath 找到所有元素

[英]Selenium can't find all elements by xpath

我使用 selenium 抓取网站数据并执行以下代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

chromeDriverPath = 'C:\Program Files (x86)\chromedriver.exe'
url = 'https://shopee.vn/Th%E1%BB%9Di-Trang-Nam-cat.11035567?page=0'
driver = webdriver.Chrome(chromeDriverPath)
driver.get(url)

try:
    main_xpath = '/html/body/div[1]/div/div[3]/div/div[4]/div[2]/div/div[2]'
    main = WebDriverWait(driver,20).until(
        EC.presence_of_element_located((By.XPATH,main_xpath))
    )
    product_list = main.find_elements(By.XPATH,'./div[@data-sqe="item"]')
    i=1
    for i in range(0,len(product_list)):
        print(i)
        print(product_list[i].text)
finally:
    driver.close()

但它只返回前 15 个非空元素,其余为空,尽管它似乎准确地返回了product_list number 元素。
那么,如何找到product_list所有元素?

   for i in range(1,int(len(product_list)/15)):
         driver.execute_script("arguments[0].scrollIntoView();", product_list[i*15])
         time.sleep(5)

这是我向下滚动 15 个元素然后稍等片刻直到它加载的一个技巧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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