By方法查找元素

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

2类8种

driver.find_element(By.XXX, “selector”)
如果匹配到多个,则返回匹配到的第一个。
如果匹配不到,则抛出NoSuchElementException异常(报错)。

1、id 通过元素的id属性来定位元素

id 通过元素中的id属性来定位元素

  1. ele = driver.find_element(By.ID, "IamID") # 类型为 WebElement 类
  2. ele.clear()
  3. ele.send_keys("By方法查找元素,ID---通过元素中的id属性来定位元素")

2、name 通过元素的name属性来定位元素

name 通过元素的name属性来定位元素

  1. driver.find_element(By.NAME, "first").send_keys("通过元素的name属性来定位元素")

3、class name 通过元素的class属性来定位元素

class name 通过元素的class属性来定位元素

  1. driver.find_element(By.CLASS_NAME, 'poem').send_keys("通过元素的class属性来定位元素")

4、tag_name 通过标签的标签名来定位元素

tag_name 通过标签的表掐你名来定位元素

  1. print (driver.find_element(By.TAG_NAME, 'form').get_attribute("id"))
  2. print (driver.find_element(By.TAG_NAME, 'form').text)

5、link-text 根据 超链接标签 中的文本内容来定位元素

link_text 根据 超链接标签 中的文本内容来定位元素

  1. print (driver.find_element(By.LINK_TEXT, '抬头看明月,').text)

6、partial_link_text 根据 超链接标签 中的 部分文本内容来定位元素

partial_link_text 根据 超链接标签 中的 部分文本内容来定位元素

  1. print (driver.find_element(By.PARTIAL_LINK_TEXT, "明月").text)

7、css selector 根据css选择器来定位元素

css selector 根据 css选取器来定位元素

  1. print (driver.find_element(By.CSS_SELECTOR, '#menyue').text)

8、xpath 根据xpath表达式来定位元素

xpath 根据xpath表达式来定位元素

  1. print (driver.find_element(By.XPATH, '//*[@id="menyue"]').text)