操作测试对象

  • click 点击对象
  • send_keys() 对对象输入
  • clear 如果可以的话,清除对象的内容
  • submit 如果可以的话,提交表单
  • text 用于获取元素的文本信息

    运行后控制台输出

    这种一般用在比如说判断一个网页是否打开,那么就可以判断网页中某元素是否存在,如果存在就说明打开了

添加等待

  • 固定等待 time.sleep(6)
  • 智能等待 implicit_wait(6)
  • 区别:比如说A,B约着去逛街,B很慢,A先到,如果是固定等待的话,比如说A固定等待B10分钟,就算B10分钟之内来了,他也要等够10分钟俩人才能一起愉快的逛街;而只能等待就是B等待A,A只要一来,他俩就去逛街

如果想看运行出来的效果时可以用固定等待, 如果只是看页面中某个元素是否能够加载出来,那就用只能等待

from selenium import webdriver
import timedriver = webdriver.Chrome() driver.get("https://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("乃万")
driver.find_element_by_id("su").click()
title1 = driver.titleprint("title = "+title1)
# title = 百度一下,你就知道   输出的是当前页面的上一个页面的title
# 如果此处不加等待的话,有可能定位不到,报错NoSuchElement,
# 因为程序执行速度很快,而网页加载速度可能受网速的限制导致加载不出来定位不到元素
# 让他固定等待6s
# time.sleep(6)
# 智能等待6s,页面一加载出来就进行下一步
driver.implicitly_wait(6)
# 这个地方的u代表设置编码为utf-8格式,防止乱码
driver.find_element_by_link_text(u"乃万_百度百科").click()
# 注意这个地方打印出来的url是第一次打开的url  输出的是当前页面的上一个页面的url
# https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E4%B9%83%E4%B8%87&fenlei=256&rsv_pq=d5c2f6350002cbe5&rsv_t=7378VfwDgv3ztxbzMXlrEFzLzy5YWa5D71Ilm1VdPa2MFxJfkT5P2U%2Bnp9E&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=2&rsv_sug1=1&rsv_sug7=100&rsv_btype=i&inputT=236&rsv_sug4=236
# url = driver.current_url
# print(url)title2 = driver.titleprint("title = "+title2)
# title = 乃万_百度搜索driver.quit()

【selenium】操作测试对象 添加等待相关推荐

  1. Selenium自动化测试-设置元素等待

    ------·今天距2020年54天·------ 这是ITester软件测试小栈第75次推文 selenium中有三种时间等待: 强制等待:sleep 隐式等待:implicitly_wait 显示 ...

  2. selenium的三种等待方式介绍及优缺点

    等待的作用 UI自动化中,运行的时候页面是需要有加载时间的. 等待作为ui自动化中极其核心的技术,是因为通过等待,才可以更好地保障自动化测试的稳定性. 三类等待机制 1.强制等待 就是time库下的s ...

  3. 【Selenium】Selenium的3种等待方式

    一.等待是做什么的,为什么需要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等,这时候,我们就需要使用等待,来判断上一步操作 ...

  4. selenium中三种等待方式:sleep,implicitly_wait,WebDriverWait

    三种等待方式:sleep 强制等待, sleep,设置等待多长时间,就要等待多长时间.等待完成后,才会继续下一步: from selenium import webdriver # 导入sleep f ...

  5. ajax上传等待效果,ajax等待服务器响应添加等待效果

    ajax等待服务器响应添加等待效果 内容精选 换一换 删除备份.删除操作为异步操作,删除操作会根据后台执行任务的情况进行排队,所以不会立即完成删除,需要通过不断查询删除任务信息获取删除结果,时间最长耗 ...

  6. 【js细节剖析】通过=操作符为对象添加新属性时,结果会受到原型链上的同名属性影响...

    在使用JavaScript的过程中,通过"="操作符为对象添加新属性是很常见的操作:obj.newProp = 'value';.但是,这个操作的结果实际上会受到原型链上的同名属性 ...

  7. VSTO Office二次开发PPTRibbonX命令操作及对象添加

    VSTO Office二次开发PPTRibbonX命令操作及对象添加 本篇分享对于Power Point中一些命令的操作和对于一些比较常用对象.特殊对象的添加功能. 对于Power Point命令操作 ...

  8. html中可以添加几个类,从一个类中向一个HtmlHead对象添加多个元素

    我有一个页面的网站.我有4页所有页面都使用的主页面.每个页面使用不同的CSS和JavaScript头部标签内部.我想通过调用引用数据库表的类来添加标题,元描述和元关键字标记.但是,我无法找到一种方法将 ...

  9. 使用DataSet对象添加记录

    使用DataSet对象添加记录 使用DataSet对象添加记录 步骤: ●创建Connection对象 ●创建DataAdapter对象 ●通知数据适配器我们要使用的连接 ●创建一个DataSet对象 ...

最新文章

  1. printf()详解
  2. datatable绑定comboBox显示数据[C#]
  3. 程序员面试金典 - 面试题 16.03. 交点(数学)
  4. 通过git将本地代码上传码云
  5. Mac设置多屏幕的时候程序坞的位置
  6. 正态分布的前世今生:最小二乘法
  7. 拓端tecdat|R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析
  8. Ansys (Ansoft) Maxwell RMxprt 电机仿真入门详细教程
  9. [华为] 华为交换机接口配置报错指南
  10. 搭建sspanel 教程三(后端教程)
  11. 《硅谷钢铁侠》与埃隆.马斯克
  12. jmu-ds-集合的并交差运算
  13. 数字货币智能合约:分析以太坊信标链
  14. MATLAB中神经网络工具箱的使用
  15. MacOS 开启latex人生(mactex+texmaker安装)
  16. 用c语言编写5颗骰子任意投掷总数为15 的概率,大工15春《应用统计》开卷考试期末复习题...
  17. 2020年度总结 | 葡萄城软件开发技术回顾
  18. Codeforces Sereja and Mirroring
  19. returned a response status of 405 Method Not Allowed
  20. 【FFmpeg】tbr tbn tbc

热门文章

  1. UI设计初级教程学哪些?课程大纲和思维导图分享给你!
  2. firebug 控制_IE的Firebug控制台
  3. K最近邻算法(KNN)
  4. COCI 2020/2021 Svjetlo(树形DP)
  5. 创业者刚开始你需要VC吗
  6. 瑞吉外卖 - 项目流程介绍与数据库搭建、附Gitee地址(更新中...)
  7. C++之构造函数和析构函数
  8. jzoj阿里郎【数论】【贪心】
  9. 2014年在美国上市的中国企业名单(截止2014年10月17日)
  10. HDMI,VGA,DVI,DP,MINI DP,AV等影音设备接口规参数