- xpath
- 定义:在xml文档元素信息的语言
- 方法:find_element_by_xpath
- 绝对路径:是/html开头,元素层级之间是以/分割
- 相对路径:匹配任意层级的元素,是//tar_name或者//*
- //* //tar_name开头 //*[@attribte1='value1' and @attribte2='value2']如果使用class元素属性要用到class所有的值
- 层级与属性结合定位方法
- 是以//* 或者//tar_name开头
- 在任意层级中都可以结合属性进行使用
- xpath延生
- //*[text()='value']
- //*[contains(@attribute,'value')]
- //*[starts-with(@attribute,'value')]attribtue表示属性名,value表示字符串要定位的元素,attribute属性的属性值是以value开头
- 元素属性定位 //tar_name //*[attribute='value'] attribute表示元素的属性名,value表示元素对应的属性值
- 案例
-
# 导包 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.