首页 > 解决方案 > 使用 Selenium 获取“ul”标签内的文本?

问题描述

请帮助我找到在“ul”标签中获取文本的解决方案。

我想获取用逗号分隔的信息,例如:“含有酶活性 B 族维生素、膳食补充剂、非转基因 LE 认证”

网站链接:https ://ca.iherb.com/pr/Life-Extension-BioActive-Complete-B-Complex-60-Vegetarian-Capsules/67051

图片:在此处输入图片描述

这是 HTML 代码:

<ul>
  <li>Contains Enzymatically Active B-Vitamins
  </li>
  <li>Dietary Supplement
  </li>
  <li>Non-GMO LE Certified
  </li>
</ul>

标签: pythonseleniumselenium-webdriverweb-scrapingselenium-chromedriver

解决方案


这应该这样做:

from selenium import webdriver

link = 'https://ca.iherb.com/pr/Life-Extension-BioActive-Complete-B-Complex-60-Vegetarian-Capsules/67051'

with webdriver.Chrome() as driver:
    driver.get(link)
    elements = ', '.join([item.text for item in driver.find_elements_by_css_selector("[itemprop='description'] > ul:nth-of-type(1) > li")])
    print(elements)

输出:

Contains Enzymatically Active B-Vitamins, Dietary Supplement, Non-GMO LE Certified 

推荐阅读