zoukankan      html  css  js  c++  java
  • xpath定位.py

    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.maximize_window()
    ele = driver.get("http://www.baidu.com")
    #id定位输入框和百度一下:
    driver.find_element_by_id("kw")
    driver.find_element_by_id("su")

    #name定位输入框:
    driver.find_element_by_name("wd")

    #class定位输入框和百度一下:
    driver.find_element_by_class_name("s_ipt")
    driver.find_element_by_class_name("bg s_btn")

    #tag定位输入框和百度一下:
    driver.find_element_by_tag_name("input")
    driver.find_element_by_tag_name("input")

    #link定位文本链接新闻、hao123、地图、视频:
    driver.find_element_by_link_text("新闻")
    driver.find_element_by_link_text("hao123")
    driver.find_element_by_link_text("地图")
    driver.find_element_by_link_text("视频")

    #partial link模糊定位文本链接新闻、hao123、地图、视频:
    driver.find_element_by_partial_link_text("新")
    driver.find_element_by_partial_link_text("hao")
    driver.find_element_by_partial_link_text("地")
    driver.find_element_by_partial_link_text("视")

    #xpath绝对路径定位输入框和百度一下:
    driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input")
    driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[1]/div/form/span[2]/input")

    #利用元素属性定位输入框和百度一下、//表示当前页面某个目录下、input表示定位元素的标签名、[@id='kw']表示这个元素的id属性值等于kw:
    driver.find_element_by_xpath("//input[@id='kw']")
    driver.find_element_by_xpath("//input[@id='su']")

    #如果不想指定标签名、也可以用*星号代替、
    driver.find_element_by_xpath("//*[@id='kw']")
    driver.find_element_by_xpath("//*[@id='su']")

    #层级与属性结合、如果一个元素本身没有可以唯一标识这个元素的属性值、那么就可以找其上一级元素、如果上一级有可以唯一标识属性的值也可以拿来使用:

    #使用逻辑运算符、如果一个属性不能区分一个元素、可以使用逻辑运算符连接多个属性查找元素
    driver.find_element_by_xpath("//input[@id='kw' and @class='su']/span/input")
  • 相关阅读:
    解决方案
    项目管理
    项目管理
    产品经理
    产品经理
    产品经理
    产品经理
    vue学习面向对象,在项目中怎么用呢?
    vue表单验证不通过,依然能执行点击事件里面的代码?
    vue中js文件中export常见方法及使用
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12210729.html
Copyright © 2011-2022 走看看