码迷,mamicode.com
首页 > 其他好文 > 详细

selenium元素定位

时间:2019-10-06 15:17:40      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:val   firefox   find   元素   complete   drive   dde   定位   rip   

注:这里是基于Python3的UI自动化测试

一、单个和多个元素定位

  selenium自动化测试中,单个和多个定位方式都是根据属性 ID、NAME、CLASS_NAME、TAG_NAME、CSS_SELECTOR、XPATH、LINK_TEXT、PARTIAL_LINK_TEXT 来定位。如下:

单元素定位:按F12进入Web控制台可以查看到

  driver.find_element_by_id(‘kw‘)
  driver.find_element_by_name(‘wd‘)
  driver.find_element_by_class_name(‘s_ipt‘)
  driver.find_element_by_xpath(‘//*[@id="id"]‘)
  driver.find_element_by_link_text(u‘新闻‘)#a标签,用于超链接处理,这里是“新闻”链接
  driver.find_element_by_partial_link_text(u‘新‘)#包含“新”字的链接
  #定位到元素属性后,鼠标右击属性,Copy-Copy selector选项获取
  driver.find_element_by_css_selector(‘#kw‘)

多元素定位:当定位多个元素后,结果以列表的形式呈现,然后可以按照列表的索引来定位到具体的位置

如:在百度首页中,以TAG_NAME元素属性定位百度输入框,在代码中可以发现不仅仅在百度搜索输入框有input标签。

<form id="form" name="f" action="/s" class="fm">
	<input type="hidden" name="ie" value="utf-8">
	<input type="hidden" name="f" value="8">
	<input type="hidden" name="rsv_bp" value="1">
	<input type="hidden" name="rsv_idx" value="1">
	<input type="hidden" name="ch" value="">
	<input type="hidden" name="tn" value="93308895_hao_pg">
	<input type="hidden" name="bar" value="">
	<span class="bg s_ipt_wr quickdelete-wrap">
		<span class="soutu-btn"></span>
		<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
		<a href="javascript:;" id="quickdelete" title="清空" class="quickdelete" style="top: 0px; right: 0px; display: none;"></a>
	</span>
	......	
</form> 

在Firefox浏览器中,获取百度首页input标签,查看属性,注意elements是复数的。

    tag_names = driver.find_elements_by_tag_name(‘input‘)
    for tag_name in tag_names:
        print(tag_name)
    print(type(tag_names))

 输出结果略。使用以上方法可得,input的数据类型是 list,百度搜索输入框是在 input 标签中的第 8 位,那么索引是第 7 个。

  driver.find_elements_by_tag_name(‘input‘)[7].send_keys(‘python3‘)

也可以这样:

    tag_names = driver.find_elements_by_tag_name(‘input‘)
    tag_names[7].send_keys(‘python3‘)

  

 

selenium元素定位

标签:val   firefox   find   元素   complete   drive   dde   定位   rip   

原文地址:https://www.cnblogs.com/yuntimer/p/11624428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!