selenium使用Xpath定位的几种方法
2017-06-01 11:15
656 查看
第一种方法:通过绝对路径做定位(相信大家不会使用这种方式)
By.xpath("html/body/div/form/input")
By.xpath("//input")
第三种方法:通过元素索引定位
By.xpath("//input[4]")
第四种方法:使用xpath属性定位(结合第2、第3中方法可以使用)
By.xpath("//input[@id='kw1']")
By.xpath("//input[@type='name' and @name='kw1']")
布尔值写法
如果input标签中 id不是唯一的,type也不是唯一的,但在该页面中包含该id和type的只有这个元素时,那么我们可以用组合的方式定位
xpath=//*[@id=”kw” and @type=”text”]
当然还有or 或,慎用
xpath=//*[@id=”kw” or @type=”text”]
第五种方法:使用部分属性值匹配(最强大的方法)
By.xpath("//input[start-with(@id,'nice')
By.xpath("//input[ends-with(@id,'很漂亮')
By.xpath("//input[contains(@id,'那么美')]")
第六种方法:跳级
如果需要定位的元素在该页面不是唯一,但在某个容器内是唯一的,当然那个容器必须要有唯一的标志;
跳级的话要用两个//
那么可以这样表示:xpath=//div[@id=”wrapper”]//input [@id=”kw”]
注意:该方法要保证在某容器内该元素是唯一的。
第七种方法: 找父级
如果自己没有唯一的标志,那么就找自己的上级(父级),或者上级的上级,以此类推。
找父级:xpath=//span[@class=’s_ipt_w’]/input
找父级的父级:xpath=//form[@id=”form”]/span[1]/input
//*[contains(@onclick, 'x64_3.01.3730.spkg')and @name='delete']
在切换ifame的时候,有时iframe是含有id的,就可以直接定位使用
但是当iframe没有id信息的时候,如下图,
select frame Xpath=//*[contains(@src, 'sysmanage/systemupgrade.action')]
转载:http://blog.csdn.net/duff2016/article/details/54572718
By.xpath("html/body/div/form/input")
By.xpath("//input")
第三种方法:通过元素索引定位
By.xpath("//input[4]")
第四种方法:使用xpath属性定位(结合第2、第3中方法可以使用)
By.xpath("//input[@id='kw1']")
By.xpath("//input[@type='name' and @name='kw1']")
布尔值写法
如果input标签中 id不是唯一的,type也不是唯一的,但在该页面中包含该id和type的只有这个元素时,那么我们可以用组合的方式定位
xpath=//*[@id=”kw” and @type=”text”]
当然还有or 或,慎用
xpath=//*[@id=”kw” or @type=”text”]
第五种方法:使用部分属性值匹配(最强大的方法)
By.xpath("//input[start-with(@id,'nice')
By.xpath("//input[ends-with(@id,'很漂亮')
By.xpath("//input[contains(@id,'那么美')]")
第六种方法:跳级
如果需要定位的元素在该页面不是唯一,但在某个容器内是唯一的,当然那个容器必须要有唯一的标志;
跳级的话要用两个//
那么可以这样表示:xpath=//div[@id=”wrapper”]//input [@id=”kw”]
注意:该方法要保证在某容器内该元素是唯一的。
第七种方法: 找父级
如果自己没有唯一的标志,那么就找自己的上级(父级),或者上级的上级,以此类推。
找父级:xpath=//span[@class=’s_ipt_w’]/input
找父级的父级:xpath=//form[@id=”form”]/span[1]/input
//*[contains(@onclick, 'x64_3.01.3730.spkg')and @name='delete']
在切换ifame的时候,有时iframe是含有id的,就可以直接定位使用
但是当iframe没有id信息的时候,如下图,
select frame Xpath=//*[contains(@src, 'sysmanage/systemupgrade.action')]
转载:http://blog.csdn.net/duff2016/article/details/54572718
相关文章推荐
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法 - 专治各种定位不准并发症
- selenium使用Xpath定位的四种方法
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(专治各种定位不准并发症)
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
- 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇
- python selenium xpath定位时使用变量
- Selenium使用Xpath定位元素及实例(1)
- Python使用Selenium测试WebApp在定位元素和使用元素属性报的莫名其妙错误的终极解决方法
- selenium-2 使用xpath定位元素
- Python+Selenium xpath 定位遇到相同元素时的解决方法父节点找子节点
- CSS复合样式用selenium定位xpath写法(用contain text()方法)
- 在selenium测试中使用XPATH功能函数starts-with、contains、descendant、ancestor、text()定位网页元素
- python selenium使用xpath定位
- selenium使用Xpath定位之完整篇
- java selenium XPath 定位实现方法
- 在Selenium WebDriver中使用By.Xpath快速定位页面元素
- Selenium2 入门[1] —— 获取XPath来定位元素 : Frebug , FirePath 插件的安装及使用