selenium-xpath定位总结



一、通过文本内容定位元素(div,td,span等)

# 通过文本内容精准定位元素。可能由于页面内容有空格,经常定位不到元素
driver.find_element_by_xpath('//div[text()="活动服务"]')   # 若要定位其它标签元素(如:td,span等),只需要替换div即可

# 通过文本内容模糊定位元素
driver.find_element_by_xpath('//div[contains(text(),"活动服务")]')

二、通过元素tagName定位

driver.find_element_by_xpath('//*[@placeholder="用户名"]').send_keys(username)
driver.find_element_by_xpath('//*[@placeholder="密码"]').send_keys(password)

三、通过已知元素定位元素

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.maximize_window()
# 定位一个元素
positioned_element = driver.find_element_by_id("form")

# 通过已定位元素,定位子元素
child_element = positioned_element.find_element_by_xpath("span[2]/input")
child_element.send_keys("selenium")

# 通过已定位元素,定位兄弟元素
brother_element = positioned_element.find_element_by_xpath("../a/img[1]")
brother_attribute = brother_element.get_attribute("title")
print(brother_attribute)

# 通过已定位元素,定位其它层级元素
other_element = positioned_element.find_element_by_xpath("../../../div[3]/a[1]")
other_attribute = other_element.get_attribute("href")
print(other_attribute)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM