如果是对整个网页模拟按键,建议使用根元素xpath:/html
\ue0f是python中pageDown下翻页按键码值的unicode编码,其它按键的编码参考下图:
网页内嵌网页frame/iframe切换
frame和iframe都是网页的内嵌网页,当我们遇到某些元素位于frame或者iframe时,如果不对操作的当前页面进行切换,讲无法操作这些元素。
例如这个网站: https://www.layui.com/admin/std/dist/views/
在这个页面中,如果我们要操作右侧的元素,必须先将内嵌的iframe切换为当前页面,否则无法点击。
这里我们需要用到一个关键字:
作用:切换定位符定位的页面为当前页面
参数:一个必选参数,frame的定位符
但是,如果这时我们又要操作左侧面板的元素,会发现又不能操作了,这是因为我们的操作当前页面是右侧页面,这时我们需要把当前页面切换回主页面
Unselect Frame作用:切换主页面为当前页面
无参数
注意切换网页要分析网页结构,使用select frame只能往当前网页的下级页面切换,所以往上或者往平级的页面切换必须先unselect frame
浏览器窗口切换当我们点击链接弹出一个新的浏览器窗口时,我们在新的浏览器窗口操作需要手动切换浏览器窗口。
Select Window作用:切换浏览器窗口到定位符匹配的窗口
参数:一个参数locator默认为MAIN
返回值:前一个窗口的handle
如果定位的窗口被找到,所有随后的操作将基于这个新定位的窗口,直到这个关键字再次被调用。
如果定位的窗口找不到,这个关键字失败,前一个窗口的handle已被返回,可以用来返回前一个窗口。
窗口的定位策略:
- 默认情况下,窗口定位符匹配窗口的handle,name,title,URL,匹配会按照这个顺序匹配第一个符合的窗口。
- 窗口定位符可以具体使用显式的定位策略,使用格式: strategy:value (推荐) or strategy=value支持的策略有:name,title和URL。
- 定位符为NEW,最后一个打开的窗口被切换。如果与当前窗口相同将会报错。
- 定位符为MAIN,主窗口被选中。
- 定位符为CURRENT,没什么作用,只是返回当前窗口的的handle。
- 定位符不是一个字符串时,必须是一个被排除的窗口handle list。这个list应该是之前使用Get Window Handles获取的。
这里使用,点击第一个到第四个新闻链接,来做一个切换窗口的演示。
strategy:value参数只在seleniumLibrary3.0或之后版本支持
之前版本支持的别名:None,Null和空字符串用来切换主窗口,和别名selft切换当前窗口,在3.0版本都过时了
在3.0之前版本匹配窗口的name,title和URL曾是大小写敏感的