Selenium2+python自動化28-table定位
前言
在web頁面中經常會遇到table表格,特別是後臺操作頁面比較常見。本篇詳細講解table表格如何定位。
一、認識table
1.首先看下table長什麽樣,如下圖,這種網狀表格的都是table
2.源碼如下:(用txt文本保存,後綴改成html)
<!DOCTYPE html>
<meta charset="UTF-8"> <!-- for HTML5 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<head>
<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定位:
.//*[@id=‘myTable‘]/tbody/tr[2]/td[1]
2.這裏定位的格式是固定的,只需改tr和td後面的數字就可以了.如第二行第一列tr[2]td[1].
對xpath語法不熟悉的可以看這篇Selenium2+python自動化7-xpath定位
四、打印表格內容
1.定位到表格內文本值,打印出來,腳本如下
五、參考代碼:
# coding:utf-8
from selenium import webdriver
import time
url = ‘file:///C:/Users/Gloria/Desktop/table.html‘
driver = webdriver.Firefox()
driver.get(url)
time.sleep(3)
t = driver.find_element_by_xpath(".//*[@id=‘myTable‘]/tbody/tr[2]/td[1]")
print t.text
補充說明:有些小夥伴可能會遇到table在ifame上的情況,這時候就需要先切換iframe了
Selenium2+python自動化28-table定位