【环境】
Python3.6+selenium3.0.2+FireFox50+win7
【定位方法】
1、方法:find_element_by_xpath('')
说明:xpath定位方法有相对路径和绝对路径之分,当元素层级较多时,绝对路径会很长;
相对路径具有布尔逻辑运算。
缺点:
1)性能差,定位元素的性能比其他方式差;
2)稳定性差,Xpath会随着页面布局元素的改变而改变;
3)兼容性不好,在不同浏览器下Xpath的实现是不一样的。
【示例】
import unittest from selenium import webdriver import time class LearnElement(unittest.TestCase): #初始化,打开浏览器 def setUp(self): self.driver = webdriver.Firefox() self.driver.get('http://www.baidu.com') def testXpath(self): #定位百度首页的输入框,绝对路径定位成功 element = self.driver.find_element_by_xpath('/html/body/div[2]/div/div/div/div/form/span/input') #定位百度首页的输入框,相对路径 element = self.driver.find_element_by_xpath("//input[@id='kw']") #定位百度首页的输入框,相对路径下的布尔逻辑运算 element=self.driver.find_element_by_xpath("//input[@id='kw'and @name='wd']") element.send_keys('http://wsbm.sdzk.cn') time.sleep(5) #--------关闭浏览器------------ #def tearDown(self): # self.driver.quit() if __name__ == '__main__': unittest.main()