WebDriver的几种手机号码定位追踪方式介绍

一、以下截图为用FireBug定位的用火狐(Firefox)浏览器打开的百度首页,下面所讲述的八种定位方法,就是以该截图中的百度输入框为例子。

      通过它可以方便的查看页面上的元素,根据元素路径或是标签或是属性进行定位。

      ②、FirePath是FireBug插件扩展的一个工具,用来编辑、检查和生成的XPath表达式、CSS选择器。通过XPath和CSS可快速定位页面上的元素。如下图所示:

二、首先,我们一起来分析一下 下面的这几行代码

三、WebDriver的八种元素定位方法:

    id在HTML文档中必须是唯一的,可以想象成学生在学校的学号,公民的身份证号。

     ①绝对路径定位(很不推荐该种定位方法,若页面样式稍微有点变化,元素就很容易找不到)  

若文中内容有误,希望大家指正,谢谢。

版权声明:本文为博主原创文章,未经博主允许不得转载。 /LhyUp/article/details/

上面是百度输入框的代码

webdriver属于Selenium体系中设计出来操作浏览器的一套API,支持多种语言,本文中主要讲解为对元素的定位,不涉及具体语言,在某些不同语言中有差异性的地方,本文使用python语言作为示例(比如xpath中的部分语句)。

废话少说,下面就开始介绍几种元素定位方式:

      在介绍之前,还是要废话一下,因为我们需要了解一下基本的HTML知识才能进行元素定位。可以以百度的首页为例,可以通过浏览器右键->查看网页源代码的方式查看HTML代码,或者通过开发者工具的方式查看(推荐此种方式,看的比较全面和“真实”),具体不同浏览器打开开发者工具的方式不同,在此不做过多介绍。

      通过对网页的观察,我们可以发现一般的HTML文本具有以下几个特征:

(3)标签之间可能会有文本数据

说完了以上这些内容,就可以真正的看看如何定位元素啦

partial_link_text定位于link_text定位原理相同,只不过有些文本链接太长,此时就可以通过部分的链接文字进行匹配,比如定位

XPath是一种XML中使用的定位元素语言,HTML可以看成是XML语言的一种,所以也可以通过XPath定位HTML中的元素。XPath

有多种定位策略,但是他要求你能正确写出XPath的表达式,可以自己去百度一下用法,或者在开发者工具中很方便的在Elements窗口中

右键你要定位的元素,Copy->Copy XPath的方式直接得到他的XPath表达式。接下来详细讲解各个定位策略:

绝对路径定位就是根据HTML文档的文本结构,一层一层向下找到需要定位的文本内容,比如同样是找到百度搜索框的位置,可以

(2)通过元素属性定位

如果要找的元素本身没有一个能够准确定位的唯一属性,我们可以考虑通过上层元素来进一步定位。例如:

他的第一个span节点,再找到input节点。

有时候使用单一的属性难以区分一个元素,因此可以通过逻辑运算符来进行多个属性的判断进行元素定位操作。例如如下HTML文本:

注意,一般来说一个HTML文本中id是不会重复的,此处只是为了做一个例子。现在想定位第一个input标签,就可以使用以下语句:

CSS定位基本和以上几种方法本质类似,就大体说一下使用方法不再做细致的描述,以百度输入框的如下代码为例:

上面的写法的意思是我们要找的是一个input标签,这个input标签的父元素为span标签

这些写法的含义是我们要找的这个标签有一个autocomplete属性,而且这属性的值是"off"

对于这种表达可以从后往前看,我们要找的是一个input标签,这个input标签的class是s_ipt,而且这个input标签的父元素是span标签,

这个span标签的父元素是form标签,而且这个form标签的class是fm,满足以上所有条件的标签即为我们所找。

同样的,对于CSS选择器,可以在开发者工具中通过右键目标元素,Copy->Copy selector选项复制CSS选择器的表达式,操作类似XPath表达式

我要回帖

更多关于 手机号码定位追踪 的文章

 

随机推荐