十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近在写页面的自动化脚本,在定位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~