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了

原文发布于微信公众号 - 从零开始学自动化测试(yoyoketang)

原文发表时间:2017-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python3

tkinter -- Place

注意 bt2放置的位置是在 root 的(0,0)处,而 button1放置的位置是在 lb1的(0,0)处,原因是由于 bt1使用了 in 来指定放置的窗口为...

7910
来自专栏前端知识分享

第78天:jQuery事件总结(一)

     现在就一点一点积累自己的知识体系,记录自己学到的和自己所理解的jQuery。

8920
来自专栏闻道于事

Layui常见问题

为什么表单不显示?当你使用表单时,Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以...

85050
来自专栏JavaEE

jQuery进阶前言

在《jQuery入门》一文中,记录了jQuery选择器、属性与样式和DOM操作等内容,本文将对jQuery的事件以及Ajax相关知识点进行讲解。接下来就一起来学...

18020
来自专栏葡萄城控件技术团队

你不可不知的HTML优化技巧

如何提升Web页面的性能,很多开发人员从多个方面来下手如JavaScript、图像优化、服务器配置,文件压缩或是调整CSS。 很显然HTML 已经达到了一个瓶颈...

24560
来自专栏Java后端技术

CSS应用给网页元素的几种方式总结

  直接在HTML标签中使用style进行定义样式。如:<p style="color:red;">这里是红色文字</p>.

6410
来自专栏技术博文

jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后

当对象获得焦点后,自动把光标移到内容最后,使用focus()函数便可实现,下面有个不错的示例,感兴趣的朋友可以参考下 jquery获取焦点后光标在字符串后,当i...

39270
来自专栏Google Dart

AngularDart Material Design 记分卡 顶

(adsbygoogle = window.adsbygoogle || []).push({}); fun...

14240
来自专栏贺贺的前端工程师之路

Angular2 之 结构型指令几个概念

两种用法。(* 与 template) 控制宿主元素的模板。 在哪里去显示,viewcontain 怎么注入,属性的set语法的使用,是便捷的监听属性值变化...

9520
来自专栏每日一篇技术文章

weex-08-单击事件

16520

扫码关注云+社区

领取腾讯云代金券