【发布时间】:2021-02-04 04:41:56
【问题描述】:
我需要在列表中线性提取 HTML 页面的元素(保持真实的出现顺序)。单独挑选元素 - 在单独的列表中 - 看起来像这样:
date_select = driver.find_elements(By.XPATH, "//tr[@class='dayHeader']//h5")
time_select = driver.find_elements(By.XPATH, "//span[@class='col0Item']")
class_select = driver.find_elements(By.XPATH, "//span[@class='col1Item']")
duration_select = driver.find_elements(By.XPATH, "//span[@class='col4Item']")
我已经设法达到以下目标:
output = driver.find_elements_by_xpath('//*[contains(@class, 'dayHeader') or contains(@class, 'col0Item') or contains(@class, 'col1Item') or contains(@class, 'col4Item')]')
但问题是这一行有一个标签通配符,也没有考虑到 date_select 的第一个孩子。所以“输出”省去了很多不需要的元素。
如何才能将所有日期/时间/班级/持续时间线性输出到一行中?
【问题讨论】:
-
url页面或html文件是什么?
-
没有登录就无法访问该页面,但由于这是一个语法问题,我觉得没有必要发布 HTML。