最近在写页面的自动化脚本,在定位frameset 中的frame时,定位不到,经不断尝试,终于解决之,甚感欣慰,O(∩_∩)O~
页面结构如下图:
问题如下:我在登录成功后,为了判断用户名,先从默认状态driver.switch_to_frame("topFrame")下,但是之后再定位左侧菜单栏时,就定位不到元素了,通过查看结构,原来是处在另外一个frame中(leftFrame),但是此时再通过driver.switch_to_frame("leftFrame"),提示找不到frame,从网上查找解决方法,有人说最好不用driver.switch_to_frame()方法,而是改用driver.swich_to().frame()方法,但是试了试,报has no __called()__方法,最后又找方法说:需要先driver.switch_to_defaultContent(),然后再driver.switch_to_fram()到需要的frame当中,尝试过后也不行
解决方法:先driver.find_element_by_id("frame")定位到topFrame下同级的frameset,然后再left_frame = frameset.find_element_by_name("leftFrame"),最后再driver.switch_to_frame(left_frame)即可。
总结:具体使用何种方法,主要还是看页面结构,不同结构使用不同方法,哇咔咔O(∩_∩)O~
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。