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()来清空输入框

  • 相关阅读:
    Linux系统下用mail(mailx)发送邮件
    Docker+Nginx+KeepaLived 简单实现Nginx高可用+负载均衡
    MySql安装(Windows版本)
    十分钟入门Git和GitHub的源码版本管理
    Sql Server数据库读写分离配置
    C 语言中的 printf() 和 scanf() 简介
    C 语言字符串简介
    C 语言概述
    初识 C 语言
    计算机中的存储器
  • 原文地址:https://www.cnblogs.com/H-Yan/p/14075035.html
Copyright © 2011-2022 走看看