欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UI自动化测试-web元素选择

程序员文章站 2022-07-14 08:53:58
...

web元素选择

from selenium import webdriver
driver = webdriver.Chrome()

常用的查找元素的方式:

  • driver.find_element_by_id():根据id属性定位元素
  • driver.find_element_by_name() : 根据name属性定位元素
  • driver.find_element_by_class_name():根据class属性定位元素
  • driver.find_element_by_tag_name():根据标签名称定位元素
  • driver.find_element_by_link_text():根据标签中的超链接文字定位元素
  • driver.find_element_by_partial_link_text():根据标签中的超链接部分文字定位元素
  • driver.find_element_by_css_selector():根据css属性定位元素
  • driver.find_element_by_xpath():根据xpath定位元素

根据百度首页为例
UI自动化测试-web元素选择

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

#定位百度搜索框(1)
driver.find_element_by_id('kw')
driver.find_element_by_name('wd')
driver.find_element_by_class_name('s_ipt')

#定位百度一下按钮(2)
driver.find_element_by_css_selector('.bg .s_btn')
driver.find_element_by_xpath("//input[@type='submit']")

#定位首页面上的“新闻”(3)
driver.find_element_by_link_text('新闻')
driver.find_element_by_partial_link_text('闻')

根据css选择器定位元素
举例:查找到其中的“牛肉”

<div id="food">
	<span class="vegetable">黄瓜</span>
	<span class="meet">牛肉</span>
</div>
driver.find_element_by_css_selector("#food span .meet")
  • div,p:选择所有的div和p元素
  • div p:选择div内部的所有p元素
  • div>p:选择父节点是div的所有p元素
  • div+p:选择紧邻div的p元素(兄弟节点关系)
  • div~p:选择div下的p元素 不需要相邻(兄弟节点关系)