selenium定位元素的8种方法

By.id,By.name,By.tagName,By.className,By.linkText,By.partialLinkText,By.xpath,By.cssSelector

<a href=http://news.baidu.com target=_blank class=mnav>新闻</a>

By.linkText("新闻");

By.partialLinkText("闻");By.partialLinkText("新");By.partialLinkText("新闻");

 

By.xpath

//input[@id='kw']"

//input[contains(@class,'s_ipt') and contains(@name,'wd')]

//input[@class='s_ipt' and @type='text']

 

By.cssSelector常用符号说明

# 表示id

. 表示class

> 表示子元素,层级

一个空格也表示一个子元素,但是所有的子元素相当于xpath中的相对路径

#form                    id为form的节点

.fm                      class为fm的节点

form#form>span                id为form的form节点下的span

form#form span                 id为form的form节点下的span

form#form span input:nth-of-type(1)       id为form的form节点下的span节点下第一个input

form[@name='f'][@id='form'] nth-child(1)       id为form的form节点下第一个节点

form#form span+lable           id为form的form节点下第一个span挨着的lable

form#form span~lable           id为form的form节点下第一个span所有的lable

.......太多了

以百度搜索框为例:

 By.cssSelector("form#form>span>input");

 By.xpath("//input[@id='kw']")

 

posted @ 2017-08-11 18:10  wujuan  阅读(196)  评论(0编辑  收藏  举报