webdriver定位frameset中的frame-创新互联-成都快上网建站

webdriver定位frameset中的frame-创新互联

最近在写页面的自动化脚本,在定位frameset 中的frame时,定位不到,经不断尝试,终于解决之,甚感欣慰,O(∩_∩)O~

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站建设、建昌网络推广、成都微信小程序、建昌网络营销、建昌企业策划、建昌品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联为所有大学生创业者提供建昌建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

页面结构如下图:
webdriver 定位frameset中的frame

问题如下:我在登录成功后,为了判断用户名,先从默认状态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~

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:webdriver定位frameset中的frame-创新互联
浏览路径:http://kswjz.com/article/dejdgo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流