zoukankan      html  css  js  c++  java
  • python

    # -*- coding:utf-8 -*-
    
    '''
    @project: web学习
    @author: Jimmy
    @file: find_ele.py
    @ide: PyCharm Community Edition
    @time: 2019-01-18 10:56
    @blog: https://www.cnblogs.com/gotesting/
    
    '''
    
    
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    
    '''
        id 绝对唯一,其次name
    '''
    
    
    # id
    
    driver.find_element_by_id('kw').send_keys('德玛西亚')
    driver.find_element(By.ID,'kw').send_keys('诺克萨斯')
    
    # classname
    # 返回符合条件的第一个元素
    driver.find_element_by_class_name('s_ipt')
    # 返回符合条件的所有元素,返回值是list,每一个值都是一个Webelement对象
    driver.find_elements_by_class_name('s_ipt')
    
    # tag_name
    driver.find_element_by_tag_name('span')
    driver.find_elements_by_tag_name('span')
    
    # name
    driver.find_element_by_name('wd')
    driver.find_elements_by_name('wd')
    
    # 链接的文本内容
    driver.find_element_by_link_text('贴吧') # 完全匹配文本,要一模一样
    driver.find_element_by_partial_link_text('贴吧') # 模糊匹配,包含即可
    driver.find_elements_by_link_text('贴吧')
    driver.find_elements_by_partial_link_text('贴吧')
    
    
    # css
    driver.find_element_by_css_selector('')
    
    
    # xpath
    driver.find_element_by_xpath('')
    
    # 1. 绝对定位 :  以/开头,父/子关系
    
    # 2. 相对定位 : 以//开头,在这个html页面中,有木有符合表达式的元素
    # //标签名[@属性名称=属性值]
    # //标签名[@属性名称=属性值 and @属性名称=属性值]
    
    # 3. 层级定位
    
    # 4. 文本内容定位: //标签名[text()='文本值']
    
    # 5. 包含定位 : contains
    # contains(@属性名,属性值)
    # contains(text(),属性值)
    
    # 6. 轴定位
    # ancestor : 祖先节点,包括父
    # parent   : 父节点
    # preceding: 当前元素节点标签之前的所有节点(html页面先后顺序)
    # preceding-slibling:当前元素节点标签之前的所有兄弟结点
    # following: 当前元素节点标签之后的所有节点(html页面先后顺序)
    # following-slibling:当前元素节点标签之后的所有兄弟结点
    # /轴名称::节点名称[@属性名=属性值]
  • 相关阅读:
    用mysql dump 导入与导出的方法
    HPQC HP Quality Center windows 服务
    apache 提示You don't have permission to access /test.php on this server.怎样解决
    【转】系统去掉 Android 4.4.2 的StatusBar和NavigationBar
    【转】Android:No implementation found for native
    【转】对H264进行RTP封包原理
    【转】android SystemUI 流程分析
    【转】Android 4.0 Launcher2源码分析——启动过程分析
    【转】修改Android解锁界面
    【转】Tomcat 9.0安装配置
  • 原文地址:https://www.cnblogs.com/gotesting/p/10290730.html
Copyright © 2011-2022 走看看