selenium脚本中怎么定位

 我来答
ji...9@sina.com
2016-12-16 · 超过197用户采纳过TA的回答
知道小有建树答主
回答量:462
采纳率:0%
帮助的人:255万
展开全部
该selenium的学习我是根据java语言来进行的,所以很多语法都是根据java而来的。
很多时候我们都在与页面打交道,这样或多或少的应该对html代码有一点了解。html 也就是所说的超文本标记语言,利用一些标签的集合来搭建整个页面。

每一个标签都会有自己的属性,现在的对象定位也就是根据其中的属性进行获取的。
<div id="header">
<h1>Main Title of Web Page</h1>
</div>
在很多页面中都包含id属性,如何获取由id定义的内容呢?
WebDriver dr=new FirefoxDriver();//这里使用的是火狐浏览器
dr.findElement(By.id("header"));这样就可以获取上面的<div>盒子了

以百度经验首页html代码为例:
<a target="_blank" href="http://jingyan.baidu.com/list/17">手机</a>
此代码显示的为一个链接,那么怎么获取该链接呢?
WebElement link=dr.findElement(By.linkText(“手机”));这里根据link标签名获取内容,并且返回的是一个类型为WebElement的元素
WebElement paLink=dr.findElement(By.partialLinkText(“link前几个字母”));此命令是根据标签的前几个字实现的匹配

很多页面都会使用css进行页面的控制,那么怎么使用css进行获取页面内容呢?
WebElement d=dr.findElement(By.cssSelector(“css名称”))

有的页面中获取不了以上的特殊信息的时候,可以根据xpath获取唯一的控件标识
dr.findElement(By.xpath(“xpath”)).click();//click事件的使用时因为该xpath所标志的为按钮事件

还有一些是根据标签名进行获取的
String s=dr.findElement(By.tagName(“tagName”)).getAttribute(“class”)
tagName也就是控件名称,比如input

大体上以上获取的方法基本包括了页面上所有能够获取到的信息,不管一个html页面中有多少种控件组合而成,其属性基本都是以上几种,只要结合使用以上信息,就能够完成整个页面的信息获取。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式