Selenium元素定位xpath

 

  1. xpath
    1. 定义:在xml文档元素信息的语言
    2. 方法:find_element_by_xpath
      1. 绝对路径:是/html开头,元素层级之间是以/分割
      2. 相对路径:匹配任意层级的元素,是//tar_name或者//*
      3. //* //tar_name开头  //*[@attribte1='value1' and @attribte2='value2']如果使用class元素属性要用到class所有的值
      4. 层级与属性结合定位方法
        1. 是以//* 或者//tar_name开头
        2. 在任意层级中都可以结合属性进行使用
      5. xpath延生
        1. //*[text()='value']
        2. //*[contains(@attribute,'value')]
        3. //*[starts-with(@attribute,'value')]attribtue表示属性名,value表示字符串要定位的元素,attribute属性的属性值是以value开头
    3. 元素属性定位  //tar_name //*[attribute='value']  attribute表示元素的属性名,value表示元素对应的属性值
    4. 案例
      1. # 导包
        import time
        
        from selenium import webdriver
        # 导入浏览器驱动
        driver=webdriver.Chrome()
        # 打开测试网站
        driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
        # 输入账号 meihuaxiang
        driver.find_element_by_xpath("/html/body/div/fieldset/form/p/input").send_keys("meihuaxiang")
        # 等待3s
        time.sleep(3)
        # 输入密码 123456
        driver.find_element_by_xpath("//form/p[2]/input").send_keys("123456");
        # 等待3s
        time.sleep(3)
        # 输入号码 16687654321
        driver.find_element_by_xpath("//form/p[3]/input").send_keys("16687654321")
        # 等待3s
        time.sleep(3)
        # 输入邮箱 16687654321@ceshi.com
        driver.find_element_by_xpath("//form/p[4]/input").send_keys("16687654321@ceshi.com")
        # 等待3s
        time.sleep(3)
        # 退出浏览器驱动
        driver.quit();

                      2. Selenium元素定位xpath

 

 

上一篇:selenium元素定位之动态元素


下一篇:Python学习笔记--每日健康打卡及出校报备