微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)
        # 输入邮箱 [email protected]
        driver.find_element_by_xpath("//form/p[4]/input").send_keys("[email protected]")
        # 等待3s
        time.sleep(3)
        # 退出浏览器驱动
        driver.quit();

                      2. 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐