python 使用selenium 解析table thead tr td 生成(列名,值,xpath) 三元组
时间: 2024-05-16 17:16:55 浏览: 268
可以使用以下代码实现:
```python
from selenium import webdriver
# 启动浏览器
driver = webdriver.Chrome()
# 访问网页
driver.get('网页url')
# 获取表头
thead = driver.find_element_by_xpath('//table/thead')
th_list = thead.find_elements_by_tag_name('th')
column_names = [th.text for th in th_list]
# 获取表格内容
tbody = driver.find_element_by_xpath('//table/tbody')
tr_list = tbody.find_elements_by_tag_name('tr')
table_data = []
for tr in tr_list:
td_list = tr.find_elements_by_tag_name('td')
row_data = []
for td in td_list:
row_data.append(td.text)
table_data.append(row_data)
# 生成三元组
triples = []
for i, column_name in enumerate(column_names):
for j, row_data in enumerate(table_data):
xpath = f'//table/tbody/tr[{j+1}]/td[{i+1}]'
triples.append((column_name, row_data[i], xpath))
```
这里使用了 `find_element_by_xpath` 方法来获取元素,以及 `find_elements_by_tag_name` 方法来获取同一级别下的所有指定标签元素。生成三元组时,使用了列名、该单元格的值以及该单元格在表格中的 `xpath` 信息。
阅读全文