zoukankan      html  css  js  c++  java
  • 第二讲: 页面元素定位、操作

    一、页面元素操作

    web自动化测试其实就是通过模拟手工测试,我们现在要通过代码来实现测试,首先我们要知道要操作的对象在哪?然后再对其页面元素对象做什么样的操作?也就引出下面两个概念:

            1、页面元素定位

            2、selenium API (如:点击、选择、输入文本内容等)

    二、页面8元素定位方式

            1、id:在一个页面具有唯一性

            2、name :常用来定位输入框

            3、class_name:也比较常用,注意点:它的值中间如果有空格,是不能用的

            4、link_text:文本链接定位

            5、partial_link_text:通过部分文本内容链接定位

            6、tag_name:

            7、xpath:xpath表达式,后续主要通过这个方法来定位元素

            8、css_selector:css表达式,与xpath表达式只需熟练掌握一种即可。推荐使用xpath

    三、小案例:通过百度搜索“瓜牛强强”文本

    具体如何定位?步骤:

    1、打开浏览器,百度网页,按下F12或者在设置中打开开发者工具

     2、通过做左上角的箭头,定位到“百度输入框”,获取该元素的一些属性信息,如:id="kw"

     3、用同样的方法,定位到“百度一下”按钮的属性信息id="su"

     4、上代码

    # 导入包
    import time
    from selenium import webdriver
    
    # 打开浏览器
    driver = webdriver.Chrome()
    # 浏览器最大化
    driver.maximize_window()
    # 打开一个网页
    driver.get("http://www.baidu.com")# 打印当前的浏览器地址
    # 通过id找到需要操作的元素(百度输入框):元素定位
    baidu_Input_box = driver.find_element('id','kw')
    # 为了看到效果可以加个时间等待
    time.sleep(1)
    # 对百度输入框,输入“瓜牛强强”
    baidu_Input_box.send_keys("瓜牛强强")
    # 通过id找到需要操作的元素(百度一下按钮):元素定位
    baidu_button = driver.find_element('id','su')
    # 点击百度按钮
    baidu_button.click()
    time.sleep(2)
    # 关闭整个浏览器,并且关闭驱动chromedriver
    driver.quit()

    To be continue,点个关注,持续更新。。。

  • 相关阅读:
    java socket解析和发送二进制报文工具(附java和C++转化问题)
    hibernate缓存机制(二级缓存)
    Spring MVC中前后台数据传输小结
    NUC972 MDK NON-OS
    代码是如何控制硬件的?
    C语言位运算+实例讲解(转)
    C语言程序真正的启动函数
    51单片机的时钟及总线时序和总线扩展
    如何通过Keil将程序正确的下载进flash中
    说说M451例程讲解之串口
  • 原文地址:https://www.cnblogs.com/lingqiang0605/p/15056093.html
Copyright © 2011-2022 走看看