1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找
A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx)
上面两点都确定了还不行,那改变下xpath的方法
下面的方法掌握了,基本上没有找不到的。
还有一文本前后可能有空格,特殊字符,可以用部分文本来匹配
D:xpath = //div[contains(text(),‘部分文本‘)]
E:还有找父节点的方法: ../ 这个自己去看看,会有收获的。
用F12仔细看看元素灰了和没灰,disable和enable的区别,基本都能看到有的属性发生了改变, class的值多了或者少了checked, 或者disable等
一般这种我都用到 get element attribute关键字,如下获取class的属性
你再判断 ${class_value}是否包含 disable,或者 check就可以得到其状态了
取出u‘\u6cb3\u5317\u77012‘, 然后log就是中文了
其实是你没加载这些库,我建议:新手必须加载的库
请在connect数据库时增加 charset=utf8 (我没弄过数据库的自动化,这个是看雪霁大神回答他人后记录下来的,还有其他可能的乱码,我不知道,请后续补充)
我们就谈谈RF变量的内部变量
-l 是log的路径参数
-r 是report的路径参数
如果还有其他执行脚本的需求,请命令行pybot -? 自己看看,都在这里
用这个几个,保证让你停不下来的节奏。。。
Run Keyword And Ignore Error
Run Keyword And Continue on Failure
这种有提示:你的chromedriver没找到路径,我就不说了。
如果没这种提示的,基本就是你的ride,或者robotframework太旧了,还有就是你的浏览器版本太高了,
这种问题在道长经常在群里回答,我只是作为记录了,道长别找我要版权费哈。。。
这个确实是rf的坑,平时keyword都没区分大小写,但是这套IF语句一定要大写。
还有比较的时候,${aaa} == ${bbb}报语法错误,
第一:请确定你是用pip在线安装的,其他下载文件安装很可能没安装好。
第二:请注意库命的大小写
第三,如果是你自己的自定义库红色,先运行下,看提示log,报错误在哪行,自己搞定语法错误
一般处理弹窗先增加等待,容错处理
先用这个试试:Dismiss Alert
不行再用下面的
Choose Ok On Next Confirmation
Confirm action
顺便:get alert message --- 获取弹出窗的信息
Mouse Over xxx这样鼠标就挺在那了
RF没有日期控件的关键字,(我们是自己封装的)。
最简单的用js来执行 (我也不会js,找你们开发吧)
在浏览器F12下拉框
【正规的长这样 <option xxx> ,像下面这么用:
非正规的下拉一般长这样: <div xxxx >,
你就用下面方式
官方称为Radio Button,在RF的selenium库中F5搜索 radio就有了
Select checkbox
可以尝试下: click element
没错,在你没有办法的时候,RF找来了他的经纪人“Python老宋”来帮忙。
Evaluate 后面接你的python代码就可以了。
这个不用担心,RF就是这样自动的弄到一行了,不影响的。
就下面这样写,注意for前面有个冒号
对不起,rf的Run Keyword If语句后面不能像下面这样:
下面这样是可以的
上面那样太麻烦,我有很多语句那咋办?
恭喜你,那只能自己封装关键字了,正好练习下封装技能!哈哈。。。
【特别说明】
原文:https://www.cnblogs.com/xiaohuhu/p/9321047.html