zoukankan      html  css  js  c++  java
  • python+selenium的八种定位方法

    1、通过id定位

    find_element_by_id()

    例子

    选择id

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_id("kw").click()
    #获取输入框的id进行元素定位,然后点击
    driver.find_element_by_id("kw").send_keys("你好")

    2、通过name定位

    find_element_by_name()

    例子

    选择name

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_name("wd").click()
    #获取输入框的name进行元素定位,然后点击
    driver.find_element_by_name("wd").send_keys("你好")

    3.通过class定位

    find_element_by_class_name()

    例子

    选择class

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_class_name("s_ipt").click()
    #获取输入框的class进行元素定位,然后点击
    driver.find_element_by_class_name("s_ipt").send_keys("你好")

    4.通过tag定位(标签(一个网页中标签有很多,也有可能重复,所以不常用))

    find_element_by_tag_name()

    例子

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_tag_name("area").click()
    #点击百度log图标

     

    5.通过link_text定位

    find_element_by_link_text()

    例子

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_link_text("贴吧").click()
    #获取文字,来选中元素位置

    6.通过partial_link_text定位

    find_element_by_partial_link_text()

    例子(partial _link 是一种模糊匹配的方式,对于超长的字符串截取其中的一部分)

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_partial_link_text("嫦娥五号").click()
    #获取文字,来选中元素位置

    7.通过xpath定位(如果网页中元素位置变了,那么就会定位不到元素,xpath获取的是相对位置)

    find_element_by_xpath()

    例子

     选中代码行点击右键

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_xpath("/html/body/div/div[2]/div[5]/div[1]/div/form/span[2]/input").click()
    #获取文字,来选中元素位置

    8.通过css定位

    find_element_by_css_selector()

    例子

    from selenium import webdriver
    #引入
    driver=webdriver.Chrome()
    #用谷歌浏览器
    driver.get("https://www.baidu.com/")
    #打开百度
    driver.find_element_by_css_selector("[class='s_ipt']").send_keys("h")

    在输入框后可加.clear()来清空输入框

  • 相关阅读:
    session监听
    Ubuntu上安装MongoDB(转)
    JAVA中的集合(转)
    Iterator的用法(转)
    PHPExcel常用方法汇总(转)
    MongoDB的安装及在PHP中的配置Windows版
    [转载]使用FastReport 3.0及以上版本创建动态报表的几个技巧
    FastReport
    ZeosLib
    [转载]FastReport问题整理
  • 原文地址:https://www.cnblogs.com/H-Yan/p/14075035.html
Copyright © 2011-2022 走看看