xpath定位.py

Feastaw 2020-01-18

from selenium import webdriverdriver = 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")

相关推荐