zoukankan      html  css  js  c++  java
  • selenium学习之查找元素(二)

    通过selenium的使用可以驱动浏览器来模拟加载网页,简单定位元素和获取对应的数据:
    (1)find_elements_by_id  # 根据id属性值获取元素列表
    (2)find_elements_by_class_name  # 根据类名获取元素列表
    (3)find_elements_by_tag_name  # 根据标签名获取元素列表
    (4)find_elements_by_css_selector  # 根据CSS选择器获取元素列表
    (5)find_elements_by_xpath  # 返回一个包含元素的列表
    (6)find_elements_by_partial_link_text  # 根据标签包含的文本获取元素列表,模糊定位
    注意:若上述方法中的elements去掉 s ,就会返回单个元素

    from selenium import webdriver
    
    if __name__ == '__main__':
        driver = webdriver.Chrome()
        driver.get('https://www.douban.com/')
        
        # 1.通过标签的id值获取单个标签
        task1 = driver.find_element_by_id('anony-nav')    # 返回值为标签对象
        print(task1)
    
        # 2.通过标签的id值获取多个标签
        task2 = driver.find_elements_by_id('anony-nav')    # 返回值为包含多个标签对象的list
        print(task2)
    
        # 3.通过标签的class属性值获取标签
        task3 = driver.find_elements_by_class_name('anony-nav-links')    # 返回值为标签对象的list
        print(task3)
    
        # 4.通过Xpath获取左上角豆瓣图片的<a>标签
        task4 = driver.find_elements_by_xpath('//*[@id="anony-nav"]/h1/a')    # 返回值为标签对象的list
        print(task4)
    
        # 5.通过标签包裹的文本“下载豆瓣 APP”获取元素列表(精确定位)
        task5 =driver.find_element_by_link_text('下载豆瓣 App')    # 返回值为标签对象
        print(task5)
    
        # 6.通过标签包裹的文本“豆瓣”获取元素列表(模糊定位)
        task6 = driver.find_elements_by_partial_link_text('豆瓣')
        print(len(task6))
    
        # 7.通过标签名获取元素列表
        task7 = driver.find_elements_by_tag_name('div')
        print(len(task7))
    
        # 8.获取<h1>标签包裹的文本内容
        task8 = driver.find_element_by_tag_name('h1')
        print(task8.text)
    
        # 9.通过标签包裹的文本“下载豆瓣 App”获取期href属性值
        task9 = driver.find_element_by_link_text('下载豆瓣 App')
        print(task9.get_attribute('href'))
    
        driver.close()
        driver.quit()

    获取标签的通用方法:

    1 from selenium.webdriver.common.by import By
    2 
    3 result = driver.find_element(By.ID, 'q')


  • 相关阅读:
    ruby学习笔记(5)
    rails学习笔记(2)
    一个不错的rails2.0教程
    rails学习笔记(2)
    rails学习笔记(1)
    一个不错的rails2.0教程
    ruby学习笔记(6)
    ruby学习笔记(6)
    rails学习笔记(1)
    DELPHI的编译指令
  • 原文地址:https://www.cnblogs.com/chang2021/p/13773612.html
Copyright © 2011-2022 走看看