• 元素定位常用方法


     1 # -*- coding:utf-8 -*-
     2 
     3 """
     4 selenium webdriver 定位元素是通过使用 findElement() 和 findElements()方法.
     5 findElement() 方法返回一个基于指定查询条件的  WebElement 对象或是抛出一个没有
     6 找到符合条件元素的异常.
     7 findElements()方法会返回匹配指定查询条件的 WebElement的集合,如果没有找到则返回为空.
     8 findElement() 和 findElements() 方法当找不到相应的元素的时候就会抛出 NoSuchElementFoundException 异常.
     9 """
    10 
    11 from selenium import webdriver
    12 from selenium.webdriver.common.by import By
    13 
    14 driver = webdriver.Firefox()
    15 driver.get('http://www.51testing.com')
    16 print driver.find_element(By.ID, 'username').get_attribute('type')              #通过 ID 属性定位元素
    17 
    18 driver.get('http://www.baidu.com')
    19 print driver.find_element(By.CLASS_NAME, 's_ipt').get_attribute('name')         #通过 css 属性定位元素
    20 
    21 print driver.find_element(By.NAME, 'wd').get_attribute('id')                    #通过 name 属性定位元素
    22 
    23 #层级定位, 先定位父元素, 再定位子元素
    24 print driver.find_element(By.CLASS_NAME, 's_ipt_wr').find_element(By.NAME, 'wd').get_attribute('class')
    25 
    26 """
    27 findElements() 方法, 可以得到匹配指定规则的集合列表
    28 """
    29 links = driver.find_elements(By.XPATH, './/a')
    30 #print type(links)
    31 #print len(links)
    32 
    33 for link in links:
    34     print 'URL: ', link.get_attribute('href'), ' 名称: ', link.get_attribute('text')
    35     
    36 print driver.find_element(By.LINK_TEXT, '关于百度').get_attribute('href')       #通过链接名定位链接 
    37 
    38 print driver.find_element(By.PARTIAL_LINK_TEXT, '把百度').get_attribute('href')  #通过部分链接名定位链接
  • 相关阅读:
    swagger 接口文档,控制器 和 object类型的参数与返回值 的 注释不显示问题
    python学习——练习题(13)
    python学习——练习题(12)
    女生生日祝词
    python学习——练习题(11)
    python学习——练习题(10)
    python学习——练习题(9)
    python学习——练习题(8)
    python学习——练习题(7)
    python学习——练习题(6)
  • 原文地址:https://www.cnblogs.com/Roger1227/p/3131096.html
Copyright © 2020-2023  润新知