预警此篇送学员真实高薪学历
即,
最长等待时间为5s,每隔1秒检查一次id=’kw’的元素是否被加载在DOM树里(并不代表该元素一定可见)。最常用的method是expected_conditions类提供的预期条件判断。
最长等待时间为30s,每隔1秒检查一次id=’someId’的元素是否从DOM树里消失,忽略默认异常信息NoSuchElementException 和指定的异常信息ElementNotVisibleException。此处匿名函数的用法具体参考Python语法。
解决方法2:
隐式等待。全局等待,对所有元素设置超时时间,等待页面的加载,因此只需要设置一次即可。这里的时间是最长等待时间(非固定等待时间)。
解决方法3:
sleep(秒)线程等待。休眠固定的时间,使用时需要先引入time模块的sleep方法from time import sleep。
0 6元素被遮挡,不可用,不可见
解决方法1:
由于窗口大小改变引起的页面元素布局发生变化,被测元素被遮挡,可以先将窗口最大化,再进行元素定位。
解决方法2:
.is_enabled()由于业务原因元素在某些情况下不可用(元素属性disabled,灰显),首先检查测试步骤是否符合业务逻辑,其次确认是否为业务流程上的Bug。
解决方法3:
对于属性不一定可见的元素,在定位前首先判断其属性是否可见,是否被隐藏。
解决方法4:
由于布局不合理导致的元素被遮盖、或是元素本身缺失引起的无法定位问题属于Bug,可以提给开发让其改进。
0 7
使用WebDriver调用JavaScript代码代替无法实现的功能
对于有些WebDriver没有提供的方法或者无法实现的功能,WebDriver提供了方法来执行JavaScript代码。
解决方法:
如果页面内容过长,窗口最大化也无法查看到所有元素,可以通过执行JavaScript脚本实现滚动条的拖动等动作。
以上语句实现了拉动页面到底部的功能,其中是JavaScript中用于设置浏览器窗口滚动条的水平和垂直位置的代码。
假设一个输入框可以通过id=’text’将其定位,却不能通过send_keys()输入文本内容,可以借助JavaScript代码来实现。
以上实现了HTML5视屏HTML DOM Video对象。
其中arguments是JavaScript的内置对象。因为将video对象传给了arguments,所以arguments[0]相当于JavaScript脚本的document.getElementsByTagName(“video”)。JavaScript不支持重载,使用arguments对象可以模拟函数重载效果。
0 8
WebDriver无法操作Windows控件
件的普通上传和下载(参考How to auto save files using custom Firefox profile ,可以通过实现。
解决方法:
对于插件上传,需要操作Windows控件的,可以通过安装AutoIt工具、编写脚本、保存为“.au3”文件、转换成“.exe”文件,再由自动化脚本实现上传/下载。* 虽然这种方法可以解决文件上传、下载的操作问题,但是并不推荐。因为通过python调用exe程序并不在python的可控范围内,执行多长时间,执行过程是否出错,都无从自动化过程得知。
09 firefox安全性强,不允许跨域调用出现 错
错误描述:uncaught exception: [Exception… “Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]” nsresult: “0x80004005 (NS_ERROR_FAILURE)” location:
解决办法:
Firefox 要取消XMLHttpRequest的跨域限制的话,第一是从 about:config 里设置 signed.applets.codebase_principal_support = true;(地址栏输入about:config 即可进行firefox设置);第二就是在open的代码函数前加入类似如下的代码:
不想错过就把我们设为星标吧!
第二步:点击右上角“···”
第三步:点击“设为星标”

相关资源:漂浮截图工具-教育工具类资源
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!