1 导入相关模块


  1. from selenium.webdriver.common.by import By

2 元素定位


1 通过元素id

  1. broswer.find_element(By.ID,value)

2 通过元素class

  1. broswer.find_element(By.CLASS,value)

3 通过元素name

  1. broswer.find_element(By.NAME,value)

4 通过元素标签

  1. broswer.find_elemnet(By.TAG_NAME,value)

5 通过超链接文本

  1. broswer.find_element(By.LINK_TEXT,value)

6 通过超链接部分文本

  1. broswer.find_element(By.PARTIAL_LINK_TEXT,value)

7 通过xpath

只能获取元素定位,不能直接获取文本或属性值

  1. broswer.find_element(By.XPATH,value)

8 通过多条件xpath

如果一个属性不能唯一地区分一个元素,那么使用多个属性来唯一地定位一个元素。

  1. find_element(By.XPATH,"//input[@id='kw' and @class='su']/span/input")

9 通过css选择器

只能获取元素定位,不能直接获取文本或属性值

  1. broswer.find_element(By.CSS_SELECTOR,value)

10 获取多个元素,返回列表

  1. broswer.find_elements(By.ID,value)

3 元素操作


1 先定位元素,再进行元素操作

  1. Element=broswer.find_element(By.ID,value)

2 获取元素文本

  1. Element.text

3 获取元素属性值

  1. Element.get_attribute(key)

4 获取元素大小

  1. Element.size

5 获取元素位置

  1. Element.location

6 截图元素

  1. Element.screenshot('image.png')

7 点击元素

  1. Element.click()

8 输入元素内容

  1. Element.send_keys(value)

9 清空元素内容

  1. Element.clear()

10 获取焦点

有时会失去焦点导致测试失败的情况下,可以先切到焦点元素再进行操作。 注意 active_element 后面不带括号()

  1. browser.find_element(By.ID,value).click()
  2. browser.switch_to.active_element.send_keys(value)

11 获取元素是否可见

  1. Element.is_displayed()

12 获取元素是否可点击

  1. Element.is_enabled()

13 获取元素是否被选择

  1. Element.is_selected()

14 提交表单

  1. Element.submit()