• selenium 元素定位


    • 模块的引入
      • from selenium import webdriver  # 引入webdriver
    • id定位
      • find_element_by_id('kw')            # id为kw的元素 
    • name定位
      • find_element_by_name('user')   # name 为user的元素
    • class定位
      • find_element_by_class_name("s_ipt")     # class为s_ipt的元素
    • tag定位
      • find_element_by_tag_name("input")   # tag为input的元素
    • link定位
      • find_element_by_link_text("新闻")   # a标签文本内容为“新闻”
    • partial link 定位
      • find_element_by_partial_link_text("一个很长的")   # a标签文本内容中含有“一个很长的”(模糊查询)
    • XPath定位
      • XPath 是一种在 XML 文档中定位元素的语言。因为 HTML 可以看做 XML 的一种实现,所以 selenium
        用户可是使用这种强大语言在 web 应用中定位元素。
      • 绝对路径
        • find_element_by_xpath("/html/body/div/div[2]/div/div/div/from/span/input")   # div[2]表示第二个 div 标签
      • 属性定位
        • find_element_by_xpath("//input[@id='kw']")     # id为kw的input标签
      • 层级与属性结合
        • find_element_by_xpath("//span[@class='bg s_btn_wr']/input")     # class为bg s_btn_wr的span标签下的input标签
      • 逻辑运算符
        • find_element_by_xpath("//input[@id='kw' and @class='su']/span/input")      # id为kw 且 class为su的input标签下的span标签下的input标签
    • CSS定位
      • find_element_by_css_selector(".s_ipt")     # class
      • find_element_by_css_selector("#kw")       # id
      • find_element_by_css_selector("input")     # tag
      • find_element_by_css_selector("span>input")   # 子代选择
      • find_element_by_css_selector("span input")   # 后代选择
      • find_element_by_css_selector("input[autocomplete='off']")   # 属性
      • find_element_by_css_selector("span.bg s_ipt_wr")      # 组合 
    • By 定位
      • find_element()方法只用于定位元素。它需要两个参数,第一个参数是定位方式,这个由 By 提供;另
        第二个参数是定位的值。在使用 By 时需要将 By 类导入。
      • 引入
        • from selenium.webdriver.common.by import By
      • find_element(By.ID,"kw")
      • find_element(By.NAME,"wd")
      • find_element(By.CLASS_NAME,"s_ipt")
      • find_element(By.TAG_NAME,"input")
      • find_element(By.LINK_TEXT,u"新闻")
      • find_element(By.PARTIAL_LINK_TEXT,u"")
      • find_element(By.XPATH,"//*[@class='bg s_btn']")
      • find_element(By.CSS_SELECTOR,"span.bg s_btn_wr>input#su") 
  • 相关阅读:
    学习linux之用户-文件-权限操作
    Hadoop--Hadoop的机架感知
    redhat 6.3 64位安装中文输入法全过程记录
    hdu 4619 Warm up 2(并查集)
    openGL 初试 绘制三角形 和添加鼠标键盘事件
    MySQL 启动服务报错解决方案
    20亿与20亿表关联优化方法(超级大表与超级大表join优化方法)
    50行python代码实现个代理server(你懂的)
    nginx+tomcat反复请求
    慢慢过渡到个人博客
  • 原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/11061797.html
Copyright © 2020-2023  润新知