xpath的几种定位方式
2018-12-19 本文已影响8人
慧琴如翌
id、name、class或其他属性等
driver.find_element_by_xpath("//[@id='xx']").click()
driver.find_element_by_xpath("//[@name='xx']").click()
driver.find_element_by_xpath("//[@class='xx']").click()
driver.find_element_by_xpath("//[@onsubmit='xx']").click() #其他属性
标签
防止不同标签的属性重复,可以指定标签名称
driver.find_element_by_xpath("//input[@id='kw']").send_keys('测试')
driver.find_element_by_xpath("//input[@onsubmit='xxxx']").click()
层级定位
-
通过定位它老爸来定位百度输入框input
driver.find_element_by_xpath("//span[@id='s_kw_wrap']/input").send_keys('aa') -
通过定位它爷爷来定位百度输入框input
driver.find_element_by_xpath("//form[@id='form']/span/input").send_keys('aa')
索引
driver.find_element_by_xpath("//select[@id='xxx']/option[1]").click()
逻辑运算
driver.find_element_by_xpath("//*[@id='kw' and @ autocomplete='off']").click()
模糊匹配
driver.find_element_by_xpath("//*[contains(text(),'新闻')]").click() # 跟find_element_by_link_text()一样
driver.find_element_by_xpath("//*[contains(@id,'kw')]").click()
driver.find_element_by_xpath("//*[starts-with(@id,'s_')]").click()
driver.find_element_by_xpath("//*[ends-with(@id,'wrap')]").click()
driver.find_element_by_xpath("//*[matches(text(),'hao12')]").click()