id='kw'的标签 key=baidu_input_tag.send_keys('张根') #在标签中输入'张根' baidu_button_tag=browser.find_element_by_id...----->寻找标签 ------>点击标签的事件,所以selenium的关键是怎么找到页面中的标签,进而触发标签事件; 1.通过标签id属性进行定位 browser.find_element(By.ID...隐式等待:等待所有标签加载完毕 ''' 五、元素交互操作 ActionChains 用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况(如:iframe标签),比如单击、双击、点击鼠标右键...而selenium给我们提供了一个类来处理这类事件——ActionChains #iframe标签切换 #如果网页页面嵌套frame标签,子页面访问不到父页面的内容,父页面也访问不到子页面的内容所以需要切换...移动到距某个元素(左上角坐标)多少距离的位置 perform() ——执行链中的所有动作 release(on_element=None) ——在某个元素位置松开鼠标左键 send_keys(*keys_to_send
id='kw'的标签 key=baidu_input_tag.send_keys('张根') #在标签中输入'张根' baidu_button_tag=browser.find_element_by_id...----->寻找标签 ------>点击标签的事件,所以selenium的关键是怎么找到页面中的标签,进而触发标签事件; 1.通过标签id属性进行定位 browser.find_element(By.ID...隐式等待:等待所有标签加载完毕 ''' 五、元素交互操作 0.ActionChains(动作链) 用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况(如:iframe标签),比如单击...而selenium给我们提供了一个类来处理这类事件——ActionChains; #iframe标签切换 # 如果网页页面嵌套frame标签,子页面访问不到父页面的内容,父页面也访问不到子页面的内容所以需要切换...——移动到距某个元素(左上角坐标)多少距离的位置 perform() ——执行链中的所有动作 release(on_element=None) ——在某个元素位置松开鼠标左键 send_keys(
可以设置文本节点的内容 在事件的响应函数中,响应函数是给谁绑定的,this就指向谁 获取body标签====》document.body 获取html标签===》document.documentElement...-向一个父节点中添加一个子节点 整合上面操作的小案例 父节点.insertBefore(新节点,旧节点): 在指定子节点前插入新的子节点 父节点.replaceChild(新节点,旧节点): 使用指定的子节点替换已有的子节点...父节点.removeChild(子节点):删除子节点 使用innerHTML也可以完成DOM的增删改操作 阻止a标签默认行为的常用三种方式 a标签的索引问题 JS修改元素的样式 读取元素的内联样式 获取当前元素显示的样式...,是按照自上而下的顺序加载的,读取到一行就运行一行,如果将script标签写到页面上边,在代码执行的时候,页面还没有完全加载 window.onload事件会在整个页面加载完成之后,才会触发,将对应的script...childNodes属性会获取包括文本节点在内的所有节点,注意DOM标签与标签之间的空白也会被当成文本节点 在IE8一下的浏览器中,不会将空白文本当成子节点,所以该属性再IE8中会返回4个子元素
iframe是html标签,具有一般标签的属性: width iframe的高度 height iframe的宽度 src iframe里面加载的页面url name 可以通过window.frames...在主页面中通过iframe标签可以引入其他子页面 <!...对象 2、获取父页面 子页面可以访问、修改同一个域名的父页面的方法和属性 window.parent/parent 获取当前页面的父页面-iframe所在的页面 parent.window 获取父页面的...window属性 parent.document 获取父页面的document属性 window.top 获取打开该页面的父页面,如果当前页面没有被嵌套到iframe中,window.topwindow...window.self=window 安全问题-禁止iframe嵌套网页 //当页面被非同域名iframe嵌套时:嵌套页面网址改变成本页面网址 if (window.top !
比如单击、右击、双击等。这里讲一个最常用的。就是点击。...切换iframe 我们知道网页中有一种节点叫作 iframe,也就是子 Frame,相当于页面的子页面,它的结构和外部网页的结构完全一致。...Selenium打开页面后,默认是在父级 Frame 里面操作,而此时如果页面中还有子 Frame,Selenium是不能获取到子 Frame 里面的节点的。...('//*[@id="anony-reg-new"]/div/div[1]/iframe') # 切换iframe标签 driver.switch_to.frame(login_iframe) 六、行为链...有时候在页面中的操作可能要有很多步,那么这时候可以使用鼠标行为链类ActionChains来完成。
通过这种方式,我们可以在A页面定义全局的方法挂载在window上,那么B页面就可以通过opener拿到A页面的方法从而控制A页面的行为。...('blue') 首先我们在A页面里定义一个全局方法,当点击a标签跳转到新开的B页面时,B页面就是通过opener,调用A定义的changeColor,并传入参数给...效果如下: 2.实现父子页面和子页面与子页面之间通信的方法 父子页面这里主要针对iframe而言,即iframe和父页面以及iframe页面之间的通信。...比如下图: 我们想实现父页面A操控子页面A,B,并且让子页面和父页面交互,这里我们主要使用 iframe的 contentWindow parent.window 通过contentWindow,我们可以拿到...iframe内部的方法和dom元素,进而可以操控iframe页面 首先我们来看看父页面操控子页面的场景:父页面A调用子页面的方法传递一条数据,并并显示在子页面中: // 父页面 window.onload
通过这种方式,我们可以在A页面定义全局的方法挂载在window上,那么B页面就可以通过opener拿到A页面的方法从而控制A页面的行为。...('blue') 首先我们在A页面里定义一个全局方法,当点击a标签跳转到新开的B页面时,B页面就是通过opener,调用A定义的changeColor,并传入参数给A...2.实现父子页面和子页面与子页面之间通信的方法 父子页面这里主要针对iframe而言,即iframe和父页面以及iframe页面之间的通信。比如下图: ?...我们想实现父页面A操控子页面A,B,并且让子页面和父页面交互,这里我们主要使用 iframe的 contentWindow parent.window 通过contentWindow,我们可以拿到iframe...内部的方法和dom元素,进而可以操控iframe页面 首先我们来看看父页面操控子页面的场景:父页面A调用子页面的方法传递一条数据,并并显示在子页面中: // 父页面 window.onload = function
如下这是一个典型的微前端结构例子,在一个 URL 访问的页面中,有一个主应用(基座),多个共存的子应用 A/B,子应用 B 内还有嵌套的子应用 C;它们可由不同团队独立开发,各个应用独立上线、互不干扰。...在此之前,我们先聊聊在非微前端时,页面加载是怎么操作的: 通常前端页面应用打包结果的入口就是一段 标签加载 js 文件,执行后往某一个 dom 节点下挂载内容,类似如下 ...url 是通过上线平台 注入 到父应用,而不是 hardcode 写到父应用的代码中;这个注入的过程、注入哪些子应用,都是在这个上线管理平台中做的。...和 运行时组合 生命周期 - 加载 / 挂载 / 更新 / 卸载 等 加载 / 挂载时做的初始化、权限守卫、i18n 语言等 卸载时做清理,如卸载 script 标签、style 标签、子应用 dom...,子应用依然执行在 with + new Function 中,这个 iframe 只是个创建出来的空的 same-origin iframe,唯一用途是取它的 iframe.contentWindow
在一个大需求里面,按照模块化分工的话,显然iframe里面的功能由一个人负责,主页面由另一个人负责。...不同的人负责的东西同时展示在页面上交互,那么两个前端开发的过程中必然有联调的过程 背景:父页面index.html里面有一个iframe,iframe的src为子页面(另一个html的链接),下文都是基于此情况下进行...父页面html不需要有什么其他标签,只需要一个script即可 const isIframe = location.search; if (isIframe) { // 子页面...Web Worker 中可用。...的window注入方法,来设计一个简单的通信模块 父页面主动调子页面, 子页面被父页面调 父页面被子页面调,子页面调父页面 父页面下,给window挂上parentPageApis对象,是子页面调用方法的集合
javascript实现父子页面相互调用 By:授客 QQ:1033553122 ?...场景1 父页面调用子页面 如上图,在iframe子页面的元素中,定义了taskStatus全局变量,如果希望在其父页面中获取该全局变量的值,则可在父页面的元素中新增js脚本如下...: var taskStatus = document.getElementById('iframe-1-11').contentWindow.taskStatus; 注:这里iframe-1-11为子页面...iframe id属性值 注:也可以通过上述方式去调用子页面定义的全局函数 场景2 子页面调用父页面 如上图,如果希望在iframe子页面中获取父页面当前tab页面,以获取tab标签页其它信息...,可在父页面的元素中新增js脚本如下: var currentTab = window.parent.
SubFrames 中开启 Node.js 这是一个实验性质的选项,决定是否允许在子页面(iframe)或子窗口(child window)中集成Node.js; 预先加载的脚本会被注入到每一个iframe...其实都是为了在一个页面中嵌入其他页面,例如我想在搜狐的网站中嵌入一段人民日报的新闻页面 这种行为在 Electron 官方文档中叫做 Web 嵌入,关于 web 嵌入,后续我们还会出单独的文章进行讨论...我们只用到了一个窗口,我们一直称之为主窗口,但从逻辑角度来说,没有子窗口的存在,也就没有什么主窗口之说 大家有些时候在使用应用程序的时候,点击某个功能会跳出来一个新的窗口,这个就叫做子窗口 举个例子,我们在电脑版微信中查看公众号文章时...在之前的一些版本中,似乎子窗口会继承父窗口的一些配置,但后来主要是为了生命周期等,简单来说,我把父窗口关了,子窗口也会被关闭或其他设置 该参数要在父窗口初始化是配置,而不是子窗口 0x03 测试 iframe...nodeIntegrationInSubFrames: true 时子窗口是否能够读取父窗口的 Preload 中的内容 获取失败,看起来官方文档中描述的 child window 并不是官方文档其他部分中的
既然能跨域,我们直接双击打开1.html,发现还是可以,这个例子双击打开和服务器打开都能达到目的 2.2 父调用子页面的js或者反过来调用 父调子:还是基于前面的条件 var i = document.querySelector...,只能服务器打开 2.3 window.name (能跨域) 类似于vue、react的prop父子传值,只要在父窗口设置iframe标签的name,在子窗口就可以读到。...父窗口:1.html 子窗口:2.html console.log...上面的父子窗口,是指一个html里面的iframe标签引入另一个html。 3....允许我们创建一个新的消息通道,并通过它的两个MessagePort 属性发送数据m,而且在 Web Worker 中可用。可以控制台打印,发现有两个属性,portl1和port2。
一、问题描述 在页面渲染时需要动态获取iframe子页面的高度,然后重新设置iframe高度,达到自适应的目的,但是由于iframe子页面中也涉及到访问其他系统的页面,这就使得页面渲染时无法获取子页面高度...,这里涉及到跨域访问子页面问题。...http)和同一端口(例如都是80),这样在两个页面中同时添加document.domain,就可以实现父页面调用子页面的函数。...2、基于script标签实现跨域 script标签本身就可以访问其它域的资源,不受浏览器同源策略的限制,可以通过在页面动态创建script标签,代码如下: var script = document.createElement...--[endif]--> 本质上就是利用parent.parent实现对父父页面中js的回调!
既然能跨域,我们直接双击打开1.html,发现还是可以,这个例子双击打开和服务器打开都能达到目的 2.2 父调用子页面的js或者反过来调用 父调子:还是基于前面的条件 var i = document.querySelector...,只能服务器打开 2.3 window.name (能跨域) 类似于vue、react的prop父子传值,只要在父窗口设置iframe标签的name,在子窗口就可以读到。...父窗口:1.html 复制代码 子窗口:2.html console.log...上面的父子窗口,是指一个html里面的iframe标签引入另一个html。 3....允许我们创建一个新的消息通道,并通过它的两个MessagePort 属性发送数据m,而且在 Web Worker 中可用。可以控制台打印,发现有两个属性,portl1和port2。
本文将介绍如何使用Selenium和API来实现动态网页的爬取 静态网页与动态网页的区别 静态网页是在服务器端生成并发送给客户端的固定内容,内容在客户端展示时并不会发生变化。...而动态网页则是在客户端加载和渲染过程中,通过JavaScript等脚本技术动态生成和更新内容。...可以使用pip命令在命令行中安装:pip install selenium。 然后,下载与所使用的浏览器对应的驱动程序。...将驱动程序路径添加到系统路径中,以便Selenium可以找到它。 创建WebDriver对象 在Python中,使用相应的驱动程序创建一个WebDriver对象。...在页面交互过程中,可能需要切换到其他窗口、帧或处理弹窗。
iframe属性参数 当点击一个子页面的链接时, 如何将另一个子页面嵌入到当前iframe中 只要给这个iframe命名就可以了。...> 指定iframe调用的文件或图片(html,htm,gif,jpeg,jpg,png,txt,*.*) iframe元素的功能是在一个html内嵌一个文档,创建一个浮动的帧...1.与 iframe 元素一起使用 的 allowTransparency 标签属性必须设置为 true。...2.在 iframe 内容源文档,background- color 或 body 元素的 bgColor 标签属性必须设置为 transparent。 具体步骤: 1....所载加页的背景颜色设置为transparent(透明)时iframe将透明化。
在访问到内部某个页面后,希望父窗体的地址栏跟随子窗体内部src,同时更新父窗体的地址栏,再刷新页面可以保持在当前访问的页面,同时可以分享链接。...然后在每次ifrmae内部src变化时,便会调用onLoad()。内部在window.location的hash值变化后,获取子窗体的href值,再对父窗体的地址栏做修改。...以虚拟机模块的代码为例,由于从虚拟机页面还有可能跳转到母机模块,这里也要考虑到: 图片1.png 如果是在获取到子窗体的src后,以window.location.href = xxx;的方式来修改父窗体...这样每次iframe内部的src发生变化后,都会相应修改父窗体的地址栏,但又不会去刷新当前页面,效果上看起来就像是在自己的页面中操作,感受不到跨站点的问题。...每次刷新页面,在页面初始化时,就根据当前父窗体的地址栏中的url去得到属于运维平台的location.search值,用这个值修改iframe的src值,达到每次刷新页面,都可以根据当前地址栏的url,
常用在script、img、iframe标签中,我们建议js文件放在HTML文档的最后面。如果js文件放在了head标签中,可以使用window.onload实现js的最后加载。...5.页面导入样式时,使用link和@import有什么区别?...2.加载顺序区别 加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。...sticky 粘性定位(而sticky相当于加了一个滚动事件的处理,当页面滚动到相对应的元素上,就会变成固定定位的效果。当滚动到父元素不在可视区域范围内时,定位效果就会消失。) static 默认值。...将子元素放置在同一行 为父元素中设置font-size: 0,在子元素上重置正确的font-size 为inline-block元素添加样式float:left 设置子元素margin值为负数 11.你对
HTML的全局事件属性 Window窗口事件 onload,在页面加载结束后触发。 onunload,在用户从页面离开时触发,如单击跳转,页面重载,关闭浏览器窗口等。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...onkeyup,当用户释放按键时触发。 Mouse鼠标事件 onclick,当在元素上单击鼠标时触发。 onblclick,当在元素上双击鼠标时触发。...onmouseover,当鼠标指针移动到元素上时触发。 onmouseup,当在元素上释放鼠标按钮时触发。...值 说明 _self 在超链接所在框架或窗口中打开目标页面 _blank 在新浏览器窗口中打开目标页面 _parent 将目标页面载入含有该链接框架的父框架集或父窗口中 _top 在当前的整个浏览器窗口中打开目标页面
HTML的全局事件属性 Window窗口事件 onload,在页面加载结束后触发。 onunload,在用户从页面离开时触发,如单击跳转,页面重载,关闭浏览器窗口等。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...onkeyup,当用户释放按键时触发。 Mouse鼠标事件 onclick,当在元素上单击鼠标时触发。 onblclick,当在元素上双击鼠标时触发。...onmousedown,当在元素上按下鼠标按钮时触发。 onmousemove,当鼠标指针移动到元素上时触发。 onmouseout,当鼠标指针移出元素时触发。...值 说明 _self 在超链接所在框架或窗口中打开目标页面 _blank 在新浏览器窗口中打开目标页面 _parent 将目标页面载入含有该链接框架的父框架集或父窗口中 _top 在当前的整个浏览器窗口中打开目标页面
领取专属 10元无门槛券
手把手带您无忧上云