多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Selenium自动化定位方法介绍

更新时间:2022-04-20 09:09:01 作者:多测师 浏览:173

  用selenium操作浏览器进行自动化操作其实就是通过元素属性执行相关操作。所以,我们要知道怎样去查找元素,定位元素。

Selenium自动化定位方法介绍

  常见的定位属性有:

  #查找元素的id

  find_elements_by_id(id)

  find_elements_by_id(id)

  #查找元素的name

  find_element_by_name(name)

  find_elements_by_name(name)

  #查找元素的链接文本

  find_element_by_link_text(link_text)

  find_elements_by_link_text(link_text)

  #查找元素的链接的部分文本

  find_element_by_partial_link_text(link_text)

  find_elements_by_partial_link_text(link_text)

  #查找元素的标签名

  find_element_by_tag_name(name)

  find_elements_by_tag_name(name)

  #查找元素的xpath

  find_element_by_xpath(xpath)

  #查找元素内的子元素的xpath

  find_elements_by_xpath(xpath)

  #查找一个元素的类名

  find_element_by_class_name(name)

  #查找元素的类名

  find_elements_by_class_name(name)

  #查找并返回一个元素的CSS 选择器

  find_element_by_css_selector(css_selector)

  #查找并返回多个元素的CSS 选择器列表

  find_elements_by_css_selector(css_selector)

  webdriver中常用的操作方法有:

  .click() 进行点击操作,用于点击一个按钮。

  .send_keys() 在对象上模拟按键输入,用于在一个输入框里输入内容。

  .clear() 清除对象的内容。

  .text 获取该元素的文本。

  .submit() 提交表单。

  .get_attrbute 获得属性值。

  以百度首页为例:

  #coding:utf-8

  from selenium import webdriverimport time

  brower = webdriver.Firefox()

  brower.get("http://www.baidu.com")

  #根据元素的类名进行定位

  brower.find_element_by_class_name('s_ipt').send_keys('12306')

  #根据元素的id进行定位

  brower.find_element_by_id('kw').send_keys('12306')

  #根据元素的name进行定位

  brower.find_element_by_name('wd').send_keys('selenium')

  #根据元素的xpath进行定位

  brower.find_element_by_xpath("//input[@id = 'kw']").send_keys('selenium')

  #根据元素的链接文本进行定位

  brower.find_element_by_link_text(u'糯米').click()

  #根据元素的CSS选择器进行定位

  #----------------第一种id进行定位------------------

  brower.find_element_by_css_selector('#kw').send_keys(u'定位')

  brower.find_element_by_css_selector('#su').click()

  #----------------第二种属性元素定位------------------

  brower.find_element_by_css_selector('input[id = "kw"]').send_keys(u'自动化')

  brower.find_element_by_css_selector('input[id = "su"]').click()

  #----------------第三种标签进行定位------------------

  brower.find_element_by_css_selector('input.s_ipt').send_keys(u'百度')

  brower.find_element_by_css_selector('input.bg').click()

  #----------------第四种class属性组合定位------------------

  brower.find_element_by_css_selector('span.bg>input.s_ipt').send_keys(u'测试')

  brower.find_element_by_css_selector('span.bg>input.bg').click()

  #----------------第五种id属性组合定位------------------

  brower.find_element_by_css_selector('span>input#kw').send_keys(u'地铁')

  brower.find_element_by_css_selector('span>input#su').click()

  #----------------第六种class属性定位------------------

  brower.find_element_by_css_selector('.s_ipt').send_keys(u'高铁')

  #或者

  brower.find_element_by_css_selector('.s_btn').click()

  brower.find_element_by_css_selector('.bg.s_btn').click()

  #----------------第七种class与id组合定位------------------

  brower.find_element_by_css_selector('.bg.s_ipt_wr.quickdelete-wrap>#kw').send_keys('selenium')

  brower.find_element_by_css_selector('#su').click()

  time.sleep(3)

  brower.quit()

  注:用css定位时只有元素"id"可以用#,元素"class"用"."

  以上内容为大家介绍了自动化测试中的Selenium自动化定位方法,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部