zoukankan      html  css  js  c++  java
  • python-web自动化-元素定位

    # -*- coding:utf-8 -*-
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    # 打开Chrome浏览器和百度网页
    driver = webdriver.Chrome()
    driver.get('https://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').send_keys('今日新闻')
    # 返回符合条件的所有元素,返回值是list,每一个值都是一个Webelement对象
    # 不能再后面用send.key(),报错AttributeError: 'list' object has no attribute 'send_keys'
    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').send_keys('成功')
    driver.find_elements_by_name('wd')
    
    #link_text
    driver.find_element_by_link_text('贴吧').click()#完全匹配,一模一样
    driver.find_element_by_partial_link_text('贴').click()#模糊匹配,包含即可
    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. 相对定位
    # A:以//开头,在这个html页面中,有木有符合表达式的元素
    # //标签名[@属性名称=属性值]
    # //标签名[@属性名称=属性值 and @属性名称=属性值]
    
    #B:层级定位
    
    # C: 文本内容定位: //标签名[text()='文本值']
    
    # D: 包含定位 : contains
    # contains(@属性名,属性值)   例如  //a[contains(@class,"btns-enter-qq")]
    # contains(text(),属性值)  
    
    # E: 轴定位(通过以下轴名称定位)
    # ancestor : 祖先节点,包括父
    # parent   : 父节点
    # preceding: 当前元素节点标签之前的所有节点(html页面先后顺序)
    # preceding-slibling:当前元素节点标签之前的所有兄弟结点
    # following: 当前元素节点标签之后的所有节点(html页面先后顺序)
    # following-slibling:当前元素节点标签之后的所有兄弟结点
    # /轴名称::节点名称[@属性名=属性值]
    

      

  • 相关阅读:
    POJ 2342 Anniversary party
    hdu 4339 Query
    Strlcpy和strlcat——一致的、安全的字符串拷贝和串接函数
    C语言直方图 && EOF释疑
    Pig 安装和使用
    时钟、背景音乐、背景图片
    字符串拷贝函数memcpy()、strncpy()和snprintf()性能之比较
    内核编译时提示错误error: sys/types.h: No such file or directory
    ubuntu中liveCD、desktop与alternate版本的区别
    恰恰是实现梦想的可能性,才使生活变得有趣
  • 原文地址:https://www.cnblogs.com/Aphrodite/p/10304909.html
Copyright © 2011-2022 走看看