selenium脚本中怎么定位
1个回答
展开全部
该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页面中有多少种控件组合而成,其属性基本都是以上几种,只要结合使用以上信息,就能够完成整个页面的信息获取。
很多时候我们都在与页面打交道,这样或多或少的应该对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页面中有多少种控件组合而成,其属性基本都是以上几种,只要结合使用以上信息,就能够完成整个页面的信息获取。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询