【问题标题】:Python Selenium Copy Table Columns by Column NamePython Selenium 按列名复制表列
【发布时间】:2016-05-25 00:53:23
【问题描述】:

我有一个包含这些标题的表,如下所示:

如何使用 xpath 选择整个列以存储在数组中。 我希望有不同的数组,例如:

courses = []
teacher = []
avg = []

请记住,这些列没有任何 ID 或类,因此我需要一种仅使用列名称来选择的方法。

这是表格的代码:

<table border="0">
<tbody>
<tr>
<td nowrap="nowrap">Courses</td>
<td nowrap="nowrap">Teacher</td>
<td><select name="fldMarkingPeriod" onchange="switchMarkingPeriod(this.value);">
<option value="MP1">MP1</option>
<option selected="selected" value="MP2">MP2</option>
<option value="MP3">MP3</option>
</select>Avg</td>
</tr>
<tr>
<td nowrap="nowrap">[Course Name]</td>
<td nowrap="nowrap">[Teacher Name]</td>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td title="View Course Summary" width="70%">100%</td>
<td width="30%">A+</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td nowrap="nowrap">[Course Name]</td>
<td nowrap="nowrap">[Teacher Name]</td>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td title="View Course Summary" width="70%">100%</td>
<td width="30%">A+</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td nowrap="nowrap">[Course Name]</td>
<td nowrap="nowrap">[Teacher Name]</td>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td title="View Course Summary" width="70%">100%</td>
<td width="30%">A+</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

有什么想法吗?谢谢。

【问题讨论】:

  • 如果没有表格的 HTML 代码,就不可能提供好的答案。
  • @alecxe 给你,但我确实删除了一些个人信息和额外信息,并且还对其进行了一些清理。希望这会有所帮助

标签: python selenium xpath


【解决方案1】:

不确定为什么您需要按列获取数据,但这里有一个示例实现:

courses = []
teachers = []
avgs = []

for row in table.find_elements_by_css("table > tbody > tr")[1:]:
    course, teacher, _, avg = [td.text for td in row.find_elements_by_xpath(".//td")]

    courses.append(course)
    teachers.append(teacher)
    avgs.append(avg)

【讨论】:

  • 报错:ValueError: need more than 1 value to unpack.是代码吗?
  • 我也将您文本中的第 4 行更改为“driver.find_elements_by_css_selector”,但它仍然给了我同样的错误...
  • 很抱歉这么晚才回复,但还是一样的错误……还是不知道怎么解决……
猜你喜欢
  • 2015-04-25
  • 2013-06-10
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多