selenium 八种元素定位方法

from selenium import webdriver
import time

# 这一步会打开一个空白的浏览器
driver = webdriver.Chrome()
# 访问网址
driver.get("http://127.0.0.1:8088/login")

# 元素定位的第一种方式--id属性定位
  driver.find_element_by_id("kw")
# 元素定位的第二种方式,根据 name 属性定位
driver.find_element_by_name("username").send_keys("libai")
driver.find_element_by_name("password").send_keys("opmsopms123")

# 元素定位的第三种方式,根据 class 属性定位
# 若 class 属性有空格,证明是复合类,多个值以空格区分
driver.find_element_by_class_name("btn-login").click()

time.sleep(3)
# 元素定位的第四种方式,根据链接文本定位-不能漏字错字
print(driver.find_element_by_link_text("OPMS官网").text)  # text 可以获取元素的文本值
# 元素定位第五种方式,根据链接文本--模糊匹配-不能错字但可以漏字
print(driver.find_element_by_partial_link_text("OPM").text)

# 元素定位第六种方式, 根据 css 表达式定位(万能定位方式)
driver.find_element_by_css_selector(
    "body > section > div.left-side.sticky-left-side > div.left-side-inner > ul > li:nth-child(2)").click()

# 元素定位第七种方式, 根据 xpath定位
driver.find_element_by_xpath("/html/body/section/div[1]/div[3]/ul/li[5]").click()

# 元素定位的第八种方式,根据标签名称定位
driver.find_element_by_tag_name("")  # 多数情况下,用不到这个

# 找不到元素的四种原因
#   1、元素定位表达式写错了,或元素不存在于界面
#   2、元素未加载,而代码已经操作到
#   3、内嵌网页
#   4、多标签页

 

posted @ 2021-06-21 22:26  大熊童鞋  阅读(358)  评论(0编辑  收藏  举报