5 Python+Selenium的元素定位方法,xpath

【环境】

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[@]")
        #定位百度首页的输入框,相对路径下的布尔逻辑运算
        element=self.driver.find_element_by_xpath("//input[@and @name='wd']")
        element.send_keys('http://wsbm.sdzk.cn')
        time.sleep(5)

    #--------关闭浏览器------------
    #def tearDown(self):
     #   self.driver.quit()

if __name__ == '__main__':
    unittest.main()