zoukankan      html  css  js  c++  java
  • 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[@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()
  • 相关阅读:
    Redis命令
    Linux命令
    SQL语句
    Redis集群
    Redis主主复制、主从复制
    关于Java乱码
    组合, 封装, 访问限制机制, property装饰器, 多态
    继承
    小练习
    面向过程与面向对象, 类和对象
  • 原文地址:https://www.cnblogs.com/catleer/p/6279400.html
Copyright © 2011-2022 走看看