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
driver = webdriver.Chrome()
driver.get("你的目标网页链接")
wait = WebDriverWait(driver, 20)
def extract_header_data():
headers = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.el-table__header-wrapper thead')))
header_cols = headers.find_elements(By.TAG_NAME, 'th')
columns = [col.text.strip() for col in header_cols if col.text.strip()]
return columns
def extract_table_data():
body = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.el-table__body-wrapper tbody')))
rows = body.find_elements(By.TAG_NAME, 'tr')
data = []
for row in rows:
row_data = []
cols = row.find_elements(By.TAG_NAME, 'td')
for col in cols:
try:
hidden_text = driver.execute_script("return arguments[0].textContent", col.find_element(By.XPATH, './/div'))
row_data.append(hidden_text.strip())
except Exception:
row_data.append(col.text.strip())
data.append(row_data)
return data
try:
headers = extract_header_data()
print("表头:", headers)
table_data = extract_table_data()
for row in table_data:
print("表体行:", row)
finally:
driver.quit()