selenium之元素定位

#元素标签类型是由css样式表决定的,

#自动化时,就是基于不用的属性进行定位标签

#第一种元素定位id   (基本上不会重复)

#find_element_by_id

 

#第二种元素定位name   存在重名的可能(使用时现检查是否唯一)

#find_element_by_name

 

#第三种元素定位link text (主要用于超链接如:<a href="//www.360kuai.com/pc/home?sign=360_b4dea84e" class="link">资讯</a>)

# find_element_by_link_text(”资讯“)

 

#第四种元素定位partial like text (超链接文本模糊查询,当存在多个直接取第一个)

# find_element_by_partial _link_text(”资“)

 

#第五种元素定位classname(基于元素样式定位。很容易重复,不经常使用)

#<div class="s-skin-container s-isindex-wrap"></div>

#find_element_by_class_name()

 

#第六种元素定位tagname(标签名进行定位,重复度高,只有在进行二次筛选,才进行使用)

#find_element_by_tag_name()

#find_elements_by_tag_name()[1]

 

#第七种元素定位cssselector (完全基于class来进行定位(以前ie不支持xpath定位)现在用的也很少)

#find_elements_by_css_selector()

#find_elements_by_css_selector(“dongdong > div.dongdong-section.icon-star > a:nth-child(5)”)

 

#第八种元素定位xpath(基于页面结构进行定位)

#find_element_by_xpath("//*[@id='switcher_plogin']").click()

//*[@id="search-kw"]

//表示从根目录才是查找

*任意元素

[]表示筛选的条件

//*[@id="sites-lib-list"]/div[5]

//[@id="sites-lib-subpage"]/div[10]/span/a/span (找一个可以定位的元素后可以继续进行向下标签进行筛选)

 

手工写xpath

元素<input type="text" name="q" autocomplete="off" id="search-kw" qsuginited="1" placeholder="">

//input[@id="search-kw"]

//input[@id="search-kw" and @name="q"] (元素可以写多个进行确定位置)

//a[text()="百度搜索"] (a链接使用)

百度搜索
posted @ 2021-07-03 16:26  书院小先生  阅读(260)  评论(0编辑  收藏  举报