PS:遍歷 HTML 整個表格(Table)html
HTML:python
<html>
<head>
<title>測試頁面</title>
</head>
<body>
<meta charset="UTF-8">
<table border="3">
<thead>
<tr>
<th>類型</th>
<th>週一</th>
<th>週二</th>
<th>Option</th></tr>
</thead>
<tbody>
<tr>
<td>蘋果</td>
<td>1</td>
<td>2</td>
<td><input type="checkbox">A選項</input></td>
</tr>
<tr>
<td>水梨</td>
<td>3</td>
<td>21</td>
<td><input type="checkbox">B選項</input></td>
<tr>
<td>香蕉</td>
<td>43</td>
<td>123</td>
<td><input type="checkbox">C選項</input></td>
<tr>
<td>西紅柿</td>
<td>16</td>
<td>39</td>
<td><input type="checkbox">D選項</input></td>
</body>
</html>
代碼:web
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2019-07-05 16:12:33
# @Author : BenLam
# @Link : https://www.cnblogs.com/BenLam/
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(r'test.html')
#定位並獲取表格參數
tr = driver.find_elements_by_tag_name('tr')
#for循環輸出表裏的文字
tr_text_list = [row.text for row in tr for col in row.find_elements_by_tag_name('td')]
print(tr_text_list)
#方法二:
tr = driver.find_elements_by_tag_name('tr')
for row in tr:
for col in row.find_elements_by_tag_name('td'):
print(col.text + '\t',end='')
print('\n')
driver.quit()
>>>['蘋果 1 2 A選項', '蘋果 1 2 A選項', '蘋果 1 2 A選項', '蘋果 1 2 A選項', '水梨 3 21 B選項', '水梨 3 21 B選項', '水梨 3
21 B選項', '水梨 3 21 B選項', '香蕉 43 123 C選項', '香蕉 43 123 C選項', '香蕉 43 123 C選項', '香蕉 43 123 C選項', '西
紅柿 16 39 D選項', '西紅柿 16 39 D選項', '西紅柿 16 39 D選項', '西紅柿 16 39 D選項']
>>>
PS: 勾選【Option】裏邊的選項shell
代碼:bash
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2019-07-05 16:12:33
# @Author : BenLam
# @Link : https://www.cnblogs.com/BenLam/
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(r'test.html')
#定位並獲取表格參數
tr = driver.find_elements_by_tag_name('tr')
#for循環輸出表裏的文字
tr_text_list = [row.text for row in tr for col in row.find_elements_by_tag_name('td')]
print(tr_text_list)
#勾選【A選項】
Option = driver.find_element_by_xpath(r'//*[@type="checkbox"][1]').click()
driver.quit()
PS: 獲取表格中的列
代碼:測試
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2019-07-05 16:12:33
# @Author : BenLam
# @Link : https://www.cnblogs.com/BenLam/
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(r'test.html')
#定位並獲取表格參數
tr = driver.find_elements_by_tag_name('tr')
# 獲取表中全部的 「thead -> th」
thead = tr[0].find_elements_by_tag_name('th')
print(len(thead))
# 獲取某個單元格的值
tr_text = tr[1].find_elements_by_tag_name('td')[0].text
print(tr_text)
# 循環獲取表格中的第一列
for num in range(1, len(tr)):
print(tr[num].find_elements_by_tag_name('td')[0].text)
driver.quit()
>>>print(len(thead))
4
>>>print(tr_text)
'蘋果'
>>> for num in range(1, len(tr)):
... print(tr[num].find_elements_by_tag_name('td')[0].text)
...
'蘋果'
'水梨'
'香蕉'
'西紅柿'