如何使用硒获取 h3 标签内的列表文本

How to get text of list inside h3 tag using selnium

import urllib3
import certifi
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import requests
from bs4 import BeautifulSoup
import time
import ssl
http = urllib3.PoolManager(ca_certs=certifi.where())
chrome_options = Options()
chrome_options.add_argument("--incognito")
driver = webdriver.Chrome(options=chrome_options, executable_path="D:\python works\driver\chromedriver.exe")
URL= "https://physicians.wustl.edu/people/christopher-d-abraham-md/"
driver.get(URL)
time.sleep(10)
a = driver.find_element_by_xpath("//div[@class='wuphys-ppl affiliations']").text
print(a)
time.sleep(10)

HTML

<div class="wuphys-ppl affiliations">
  <h3>Hospital Affiliations</h3>
  <ul><li>Barnes-Jewish Hospital</li>
  <li>Barnes-Jewish West County Hospital</li>
  <li>Christian Hospital - Northeast</li></ul>
</div>

**Required_output:**
Barnes-Jewish Hospital
Barnes-Jewish West County Hospital
Christian Hospital - Northeast

输出应为 Barnes-Jewish Hospital、Barnes-Jewish West County Hospital、Christian Hospital - Northeast。如何使用 selnium

从 h3 标签获取列表

您的 xpath 应该看起来像这样,以便仅从 <li> 而不是从 <h3> 获取文本:

//div[@class='wuphys-ppl affiliations']/ul//li

要获取所有文本,您必须使用 find_elements_by_xpath() ant iterat over ResultSet:

a = driver.find_elements_by_xpath("//div[@class='wuphys-ppl affiliations']/ul//li")
for e in a:
    print(e.text)

输出:

Barnes-Jewish Hospital
Barnes-Jewish West County Hospital
Christian Hospital - Northeast