from selenium import webdriver
# 打开一个指定的浏览器
driver = webdriver.Chrome()
# 访问一个网址
driver.get('https://www.baidu.com')
# id定位
ele = driver.find_element_by_id("kw")
# class定位 参数只能是一个class值
driver.find_element_by_class_name("s_ipt")
# 找页面当中匹配表达式的所有元素
eles = driver.find_elements_by_class_name("s_ipt")
# tag
driver.find_element_by_tag_name("input")
# name
driver.find_element_by_name("wd")
# 文本链接
# 1.完全匹配
driver.find_element_by_link_text("更多产品")
# 2.模糊匹配
driver.find_element_by_partial_link_text("产品")
# xpath
# 绝对定位 以/单斜杠开头,从根节点开始,严格按照顺序和位置来表达 父/子
# /html/body/div/div/div[@class="main-container"]/div/ul/ul/li/span 不建议使用
# 相对定位 以//双斜杠开头,不管元素的位置和顺序. 在HTML页面当中,有没有匹配到表达式的元素
# driver.find_element_by_xpath("//*[@id=\"kw\"]")
# 1.//标签名[@属性名称=属性值]
# 2.逻辑运算 //标签名[@属性名称=属性值 and\or @属性名称=属性值]
# 3.层级定位 元素本身的属性不能够唯一定位到自己. 借助于比较近的祖先结点来缩小重找范围,
# 先找到某一个祖先结点,再在祖先的子孙后代中查找元素
# //div[@id="u"]/a[@name="tj_login"]
# //tr[2]/td[@data-time="15:00-16:00"]
selenium元素定位的几种方式
最新推荐文章于 2025-07-25 17:16:43 发布