zoukankan      html  css  js  c++  java
  • Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作

    一.对于元素的基础操作:

    clear():清除输入框内的文本

    send_keys():输入特定的字符 (需要传参)

    click():点击元素

    submit():提交表单(一般这个方法可以替代click)

    from selenium import webdriver
     
    driver = webdriver.Chrome()
    driver.get("https://tieba.baidu.com/")
     
    # send_keys 文本框输入值:123
    driver.find_element_by_xpath("//*[@id='wd1']").send_keys("123")
     
    # clear 清除文本框内的文本
    driver.find_element_by_xpath("//*[@id='wd1']").clear()
     
    # send_keys 文本框输入值:自动化测试
    driver.find_element_by_xpath("//*[@id='wd1']").send_keys("自动化测试")
     
    # click 点击进入贴吧按钮
    driver.find_element_by_xpath("//*[@id='tb_header_search_form']/span[1]/a").click()
     
    # submit 提交表单(效果等同于click点击)
    # driver.find_element_by_xpath("//*[@id='tb_header_search_form']/span[1]/a").submit()

    二.对于浏览器的基本操作:

    我们可以通过代码来实现直接控制浏览器,比如访问某个网址,前进后退、跳转浏览器大小、关闭等我们常用的功能,简单介绍一下

    get()直接访问某个网址(传参输入网址)

    back() 返回上一个页面

    forward()进入下一个页面

    close()关闭当前标签页

    quit()关闭浏览器

    set_window_size() 设置浏览器大小(传参输入浏览器长、宽)

    maximize_window() 最大化浏览器

    refresh() 刷新页面

    我们可以用一幅图来解释一下浏览器操作的方法在实际浏览器中对应的位置

    演示示例:

    from selenium import webdriver
    from time import sleep # sleep方法是为了初学者能够更好地了解操作的变化,所以休眠一定时间,可以去掉
    driver = webdriver.Chrome()
     
    # get() 进入百度页面
    driver.get("https://www.baidu.com/")
    sleep(1)
     
    # get() 进入贴吧页面
    driver.get("https://tieba.baidu.com/")
    sleep(1)
     
    # back() 返回上一页:百度页面
    driver.back()
    sleep(1)
     
    # forward() 返回下一页:贴吧页面
    driver.forward()
    sleep(1)
     
    # set_window_size() 设置浏览器大小
    driver.set_window_size(500, 1000)
    sleep(1)
     
    # maximize_window() 最大化浏览器
    driver.maximize_window()
    sleep(1)
     
    # 点击title为娱乐明星的<a>标签元素
    driver.find_element_by_css_selector("a[title = '娱乐明星']").click()
    sleep(1)
     
    # 关闭当前页面
    driver.close()
    sleep(2)
     
    # 关闭浏览器
    如果您看了本篇博客,觉得对您有所收获,请点击右下角的[推荐]. 如果您想转载本博客,请注明出处, 如果您对本文有意见或者建议,欢迎留言. 感谢您的阅读,请关注我的后续博客!
  • 相关阅读:
    sqlmap
    SQL注入
    Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同):
    Informatica Lookup Transformation组件的Connect 与Unconnected类型用法
    Oracle存储过程中异常Exception的捕捉和处理
    Oracle存储过程动态创建临时表/存储过程执行权限问题--AUTHID CURRENT_USER
    sql中binary_checksum(*)的用法
    Informatica
    Oracle中SQL查询表字段基本信息、主键、外键(转)
    Oracle 行转列(不固定行数的行转列,动态)(转)
  • 原文地址:https://www.cnblogs.com/chuansinfo/p/13130779.html
Copyright © 2011-2022 走看看