川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

自动化测试工具WebDriver常见的简单元素定位

作者:川石学院 日期:2021-04-19 09:36:19 点击数:

  上节课我们学习了自动化测试工具WebDriver API的基本使用和元素定位,相信大家都已经掌握了。不懂的可以咨询在线老师,一对一解答。这节课我们一起来学习自动化测试工具的简单元素定位:  

自动化测试工具WebDriver常见的简单元素定位(图1)

  所有的自动化工具要模拟用户操作,一般都要识别出用户在对哪个元素做什么操作。

  哪个元素即通常大家说的元素定位。我们需要告诉Selenium操作哪个元素,Selenium根据我们提供的信息到运行程序上进行元素匹配,匹配到即进行操作。

  WebDriver 提供了8大元素定位方式,我们先看前六种元素定位方式。

  一、根据Id定位

  假设要操作的Web元素定义如下:

  这里有个属性是id="su",那么我们可以根据id进行元素定位:

  element = driver.find_element_by_id("su")

  二、根据Name定位

  这里有个属性是name="wd",那么我们可以根据name进行元素定位:

  element = driver.find_element_by_name("wd")

  三、根据LinkText定位

  超链接在web网站中很常见,通过它可以实现页面的跳转。

  以百度搜索为例,通过开发者工具,看到如下超链接的创建语句: 

自动化测试工具WebDriver常见的简单元素定位(图2)

  我们看到超链接a标签即没有id也没有name属性,那么我们怎么找到它?

  如果一个页面有多个超链接,那么至少从超链接文本上能够区分,如:  

自动化测试工具WebDriver常见的简单元素定位(图3)

  同样的,selenium中也根据link text进行超链接定位,要查找第一个超链接,把它的超链接文本做为参数传递给

  find_element_by_link_text方法:

  Link_element = driver.find_element_by_link_text("自动化专业现在吃香吗")

  四、根据PartialLinkText定位

  我们可以做超链接字符串的部分匹配:

  Python(计算机程序设计语言)_百度百科

  超链接字符串为:Python(计算机程序设计语言)_百度百科

  部分匹配:在当前页面查找超链接字符串包含“_百度百科”的元素

  ele = driver.find_element_by_partial_link_text("_百度百科")

  ele.click()

  五、根据class Name定位

  每个元素在定义时有class属性,相当于把这个元素划归到某类中:

  则可以根据类别名称进行定位:

  ele = driver.find_element_by_class_name("s_ipt")

  * 如果元素定义时class值中间带空格,相当于这个元素同时属于多个类别:

  按照整个class的值定位会失败,可以根据某个类名定位:

  ele = driver.find_element_by_class_name("s_ipt_wr")

  六、根据tag Name定位

  每个元素在HTML文件中,都有个标签名称,如input,div,form,span等

  若元素没有id,name这些易于定义的属性,也可以根据标签名称input进行定位:

  ele = driver.find_element_by_tag_name("input")

  * 通常一个页面上同类型的标签会不止一个,需要进行过滤。

  这节课就讲到这里啦,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)



相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-04-19 09:36:19
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-04-19 09:36:19
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-04-19 09:36:19
  • 建筑工程专业朱同学成功转行为软件测试人!2021-04-19 09:36:19
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-04-19 09:36:19
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-04-19 09:36:19
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-04-19 09:36:19
  • 文科生转行软件测试照样拿下高薪15K!2021-04-19 09:36:19
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-04-19 09:36:19
  • 毕业1年,迷茫的他最终选择转行软件测试2021-04-19 09:36:19