前言
在web頁面中經常會遇到table表格,特別是后台操作頁面比較常見。本篇詳細講解table表格如何定位。
一、認識table
1.首先看下table長什么樣,如下圖,這種網狀表格的都是table
2.HTML源碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Table 測試模板</title>
</head>
<body>
<table border="1"id="MyTable">
<tr>
<th>QQ群</th>
<th>QQ號</th>
<th>群主</th>
</tr>
<tr>
<td>selenium自動化</td>
<td>232607095</td>
<td>YOYO</td>
</tr>
<tr>
<td>appium自動化</td>
<td>512200893</td>
<td>YOYO</td>
</tr>
</table>
</body>
</html>
二、table特征
1.table頁面查看源碼一般有這幾個明顯的標簽:table、tr、th、td
2.<table>標示一個表格
3.<tr>標示這個表格中間的一個行
4.</th> 定義表頭單元格
5.</td> 定義單元格標簽,一組<td>標簽將將建立一個單元格,<td>標簽必須放在<tr>標簽內
三、xpath定位table
1.舉個例子:我想定位表格里面的“selenium自動化”元素,這里可以用xpath定位:
2.這里定位的格式是固定的,只需改tr和td后面的數字就可以了.如第二行第一列tr[2]td[1].
對xpath語法不熟悉的可以看這篇: selenium3 + python - xpath定位
四、打印表格內容
定位到表格內文本值,打印出來,腳本如下:
from selenium import webdriver
import time
url = r'D:\Test\TestCase\Selenium_test\baidu-test\html\table.html'
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
t = driver.find_element_by_xpath("//*[@id='MyTable']/tbody/tr[2]/td[1]")
print(t.text)
參考文件:https://www.cnblogs.com/yoyoketang/p/6287962.html