xpath定位.py

Posted 易竹3827

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xpath定位.py相关的知识,希望对你有一定的参考价值。

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

以上是关于xpath定位.py的主要内容,如果未能解决你的问题,请参考以下文章

元素定位-XPATH定位方法总结

selenium:Xpath定位详解

自动化定位——通过XPath定位元素

Xpath定位大全

selenium入门:Xpath定位-绝对定位

用XPath精确定位节点元素&selenium使用Xpath定位之完整篇