1. 程式人生 > >Selenium2+python自動化28-table定位

Selenium2+python自動化28-table定位

我想 單元格 打印 講解 ria height borde 保存 測試

前言

在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定位