首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当selenium爬虫遇到弹窗——iframe定位

目录 问题描述 原因分析 解决方案 总结 问题描述 如上图所示,为某数据网站,自动登录时,点击登录button会出现弹窗让你输入账号密码,此时定位输入框send_keys发送参数,报错信息如下:找不到元素...标签下(通常称为网页布局嵌套),而一般webdriver要操作页面元素需要在Top Window的状态下,当浏览器出现iframe时,用正常的元素定位是没有效果的,需要将页面装换到iframe下再对页面元素进行操作...) 解决方案 #定位到iframe iframe=drive.find_element_by_tag_name("iframe") #句柄切换进iframe drive.switch_to_frame...#跳出iframe drive.switch_to_default_content() #如果不跳出再次进入iframe也会报错,找不到元素,相当于在iframe里找一个iframe 如果driver.switch_to_frame...#也可以用其他属下定位同selenium常用定位方法,即iframe本身也是一个元素 iframe=drive.find_element_by_tag_name("iframe") #跳进 drive.switch_to_frame

84610
您找到你想要的搜索结果了吗?
是的
没有找到

客服弹窗中使用layer库自定义展示的标题 - 网站网页在线客服源码教程

我在实现客服系统的过程中,使用layer实现右下角弹窗效果,现在需要自定义layer弹窗的标题和增加自定义按钮 layer.open({ type: 2, title: 'My Window<button...var iframe = layero.find('iframe'); // 获取到弹窗中的iframe元素 var btnReload = layero.find('#btn-reload...'); // 获取到按钮 btnReload.click(function(){ iframe.attr('src', iframe.attr('src')); // 重新加载iframe的内容...}); 在这个例子中,我在自定义标题里面增加了一个按钮,实现点击重新加载弹窗内容的效果 我们使用了jQuery的click()方法来处理按钮的点击事件。...在按钮的回调函数中,我们使用了iframe的attr()方法来重新设置src属性,从而重新加载iframe的内容。

1.1K30

经验之谈-关于实际项目微前端优化

iframe必须给一个指定的高度,否则会塌陷 弹窗及遮罩层问题:只能在iframe范围内垂直水平居中,没法在整个页面垂直水平居中(可使用全局的弹窗) 浏览器前进/后退问题:iframe页面刷新会重置(比如说从列表页跳转到详情页...当前有个项目遇到如下瓶颈 第三方js混乱(jquery,react,vue,angular一锅乱炖) 大多都是jquery代码,代码量大,阅读困难 业务特别多,页面有百来个吧 等等........而且,对于陈年已久的Jquery多页面的老项目,qiankun对多页应用没有很好的解决办法。每个页面都去修改,成本很大也很麻烦,但是使用 iframe 嵌入这些老项目就比较方便。.../'(需要看具体的项目) 由基层传递菜单给子项目(由项目状况决定,也可以单独控制) API请求 本地请求启动代理即可(需要注意cookie情况) 由于iframe的缺陷,使用弹窗及遮罩层问题(基层提供全屏方案...,即子项目调用基层的全屏的弹窗) 基层架构与子项目之间的数据交流 ?

1.4K50
领券