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

Python 自动化,Helium 凭什么取代 Selenium?

页面元素直接操作,不需要使用 switch_to.frame() 切换 iframe 窗体管理更方便,可以直接使用窗口标题或部分标题内容来切换窗体 隐式等待,针对某个元素执行点击操作,Selenium...我们发现,Helium 包含的操作动作、控件对象、键盘操作关键字基本覆盖了大部分的自动化操作场景 4.Selenium VS Helium 接下来,我们以登录 126 邮箱为例,来比较 Selenium...所以,我们需要使用 switch_to.frame() 函数切换到对应的 iframe,才能操作 iframe 内部的元素 from selenium.webdriver.common.by import...接着,模拟点击键盘上的 Enter,完成登录操作 # 模拟点击Enter键登录 press(ENTER) 通过 Helium 内置的 wait_until 方法 + 控件对象,可以显式等待元素出现,默认最长时间为...start_chrome() 方法返回的对象实际上就是 WebDriver 对象,可以结合 Selenium API 一起使用 5.最后 通过上面的对比发现,Helium 相比 Selenium 使用似乎更方便,但是它不适用于一些复杂的页面

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

Window对象

customElements: 可用于注册新的custom elements,或者获取之前定义过的自定义元素的信息。...frameElement: 返回嵌入当前window对象的元素,如或,如果当前window对象已经是顶层窗口,则返回null。...setInterval(): 按照指定的周期来调用函数或计算表达式。 setTimeout(): 在指定的毫秒数后调用函数或计算表达式。 stop(): 停止页面载入,相当于点击了浏览器的停止按钮。...onabort: 发送到window的中止abort事件的事件处理程序,不适用于Firefox 2或Safari。 窗口相关 onblur: 窗口失去焦点时触发。...键盘相关 onkeydown: 某个键盘按键被按下时触发。 onkeyup: 某个键盘按键被松开后触发。 onkeypress: 某个键盘按键被按下并松开后触发。

2.4K20

浅谈RPA软件如何填写富文本框

自动填写Textarea富文本框2、使用Iframe的Body元素的富文本框目前大多数成熟的富文本框架都采用Iframe元素实现的。通过Iframe渲染一个子页面,更方便实现复杂的排版要求。...自动填写iframe富文本框3、使用Div元素实现的富文本框富文本输入框也可以用div元素实现,如图中的wangEditor框架富文本框就是应用的div元素。...这是因为富文本框元素绑定了js事件函数用于检查用户的填写状况,直接给元素属性赋值并没有触发这些事件函数的执行。...有一个简单的方法,模拟键盘操作填写富文本框,不需要分析元素绑定的事件,因为在键盘操作中,已触发真实填表过程的全部事件。...模拟键盘操作时浏览器主窗体必须为活动窗体,木头浏览器模拟键盘操作前,会自动激活浏览器窗体,并让指定的富文本框元素获取输入焦点,然后才是键盘动作。木头浏览器模拟键盘操作还可以输入中文(与输入法无关)。

30320

Puppeteer 初探

,目前mac上组合键无效为已知bug page.waitFor 页面等待,可以是时间、某个元素、某个函数 page.frames() 获取当前页面所有的 iframe,然后根据 iframe 的名字精确获取某个想要的...iframe iframe.$('.srchsongst') 获取 iframe 中的某个元素 iframe.evaluate() 在浏览器中执行函数,相当于在控制台中执行函数,返回一个 Promise...Array.from 将类数组对象转化为对象 page.click() 点击一个元素 iframe....$eval() 相当于在 iframe 中运行 document.queryselector 获取指定元素,并将其作为第一个参数传递 iframe....$$eval 相当于在 iframe 中运行 document.querySelectorAll 获取指定元素数组,并将其作为第一个参数传递 还是看 这篇文章 吧,作者写了两个实例Demo,看一下代码就能懂上面的基础用法了

2.6K20

zDialog系列之入门教程

下的应用作了充分考虑,适合复杂的系统应用; Dialog显示的内容(三种):1、指向一个URL的iframe窗口;2、页面内隐藏的元素中的html内容;3、直接输出一段html内容; 按ESC键可关闭弹出框...InnerHtml: 窗口内容html代码,用于直接输出html内容,注意不要让生成的内容因为不适当的宽度或定位方式而破坏了Dialog的外观。...InvokeElementId: 本页面内隐藏的元素的id,用于显示页面内隐藏的元素中的html内容,注意不要让内容因为不适当的宽度或定位方式而破坏了Dialog的外观。...OKEvent:点击确定按钮后执行的函数。 CancelEvent:点击取消按钮或点击关闭按钮后执行的函数,默认为关闭本Dialog。...OnLoad:窗口内容载入完成后执行的程序,值为函数型。

1.3K20

zDialog框架框架入门教程

下的应用作了充分考虑,适合复杂的系统应用; Dialog显示的内容(三种):1、指向一个URL的iframe窗口;2、页面内隐藏的元素中的html内容;3、直接输出一段html内容; 按ESC键可关闭弹出框...InnerHtml: 窗口内容html代码,用于直接输出html内容,注意不要让生成的内容因为不适当的宽度或定位方式而破坏了Dialog的外观。...InvokeElementId: 本页面内隐藏的元素的id,用于显示页面内隐藏的元素中的html内容,注意不要让内容因为不适当的宽度或定位方式而破坏了Dialog的外观。...OKEvent:点击确定按钮后执行的函数。 CancelEvent:点击取消按钮或点击关闭按钮后执行的函数,默认为关闭本Dialog。...OnLoad:窗口内容载入完成后执行的程序,值为函数型。

1.6K20

前端开发必读!7个HTML属性助你提升用户体验

虚拟键盘的 enterkeyhint 属性 enterkeyhint 是HTML 标签的一个新属性,这个属性会影响虚拟键盘的 enter 键的样式和行为,主要用于移动端和平板电脑等设备上...记住,这些键盘提示的具体表现可能会因设备或浏览器的不同而略有差异,因为每个系统或浏览器可能会以自己的方式实现这些提示。 2....4.iframe 的 loading 属性 loading 是 HTML iframe 标签的一个属性,主要用于优化页面加载性能。...这可以帮助优化那些包含了很多 iframe 的页面的性能。 请注意,在Firefox浏览器中,目前不支持iframes上的 loading 属性,但在大多数现代浏览器中,该属性适用于图像。 5....跨域资源共享(CORS)的 crossorigin 属性 在处理像 、 、 、 和 这样的元素时,可能会遇到跨域资源共享(CORS

32830

Selenium之操作浏览器、元素等待、窗体切换和弹窗处理

单击元素 submit() 用于提交表单,有时候可以与click()方法互换使用 获取元素的某些属性: size: 返回元素的尺寸 text: 返回元素的文本 get_attribute...模拟键盘操作 之前介绍过,可以通过send_keys()方法用来模拟键盘输入,除此之外,还可以用它来输入键盘上的按键以及组合键。...F1 …… send_keys(Keys.F12) 键盘 F12 设置元素等待 WebDriver提供了两种类型的等待:显示等待和隐式等待 显示等待: 显示等待使WebDriver等待某个条件成立时继续执行...用法: import time time.sleep(5) #停留5秒以后再继续操作 frame/iframe/window切换 1、有时候页面会经常遇到frame/iframe嵌套,WebDriver...只能在一个页面上对元素识别与定位,这个时候需要切换到相应的frame/iframe里面。

1.7K11

浏览器事件

onabort: 发送到window的中止abort事件的事件处理程序,不适用于Firefox 2或Safari。 窗口相关 onblur: 窗口失去焦点时触发。...键盘相关 onkeydown: 某个键盘按键被按下时触发。 onkeyup: 某个键盘按键被松开后触发。 onkeypress: 某个键盘按键被按下并松开后触发。...onbeforeinstallprompt: 当用户即将被提示安装web应用程序时,该处理程序将在设备上调度,其相关联的事件可以保存以供稍后用于在更适合的时间提示用户。...键盘相关 onkeydown: 某个键盘按键被按下。 onkeypress: 某个键盘按键被按下并松开。 onkeyup: 某个键盘按键被松开。 框架/图像相关 onabort: 图像的加载被中断。...visibilitychange: document监听事件,浏览器标签页被隐藏或显示的时触发 onmessage: 从WebSocket、Web Worker、Event Source、iframe或父窗口接收到消息时触发

2.3K20

广告等第三方应用嵌入到web页面方案 之 使用js片段

根据参数向服务端发起请求, 获取到对应的数据, 再通过js创建html片段,输出到页面上 两种方案对比:         服务端生成脚本,所有的代码和数据都包含在生成的js文件中,不需要做额外的请求,适用于内容及样式相对简单的页面...操作DOM添加   1.在目标位置嵌入js片段, 并使用预先定义的ID,class,data-*等(如上)   2.js文件中创建DOM元素,将HTML字符串赋值给元素的innerHTML属性   ...3.根据ID,calss,data-*等查询到脚本所在位置,并将元素添加到DOM中  ....html) 都大篇幅介绍使用了iframe进行html输出,iframe提供了一种最佳的避免样式和脚本冲突的嵌入途径,但是有些情况在主页面的DOM中去渲染更为合适 不适合使用iframe的情况:    ...,这种情况不适用于使用iframe

3.3K111

Web自动化必会「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」

iframe切换、window切换、alert弹框都有一个显性等待。 iframe切换是一定要有iframe才需要切换。一定要确保你的元素确实是在iframe里面。...iframe本质上也是一个元素,只不过它的标签名叫做iframe。但是它里面放的是个 web 页面。 APP 自动化中就有这样的情况,外面是一个安卓的控件元素,但是控件里面放的是 web 网页。...iframe是外面的主页的一个元素控件。跟它里面放的是一个 html 页面含义是一样的。...1.鼠标行为函数(move_to_element、悬浮元素的定位)。 2.perform()函数是用来执行鼠标操作的。...所有的命令都定义好了,所有的函数基本操作都是通过发送命令来实现的。详情请回看《元素定位和元素定位辅助工具》一文。 对原理有进一步的认知是比较好的。要成为一个会研究的人而不是只会用的人,所以多看源码。

95800

Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」

iframe切换、window切换、alert弹框都有一个显性等待。 iframe切换是一定要有iframe才需要切换。一定要确保你的元素确实是在iframe里面。...iframe本质上也是一个元素,只不过它的标签名叫做iframe。但是它里面放的是个 web 页面。 APP 自动化中就有这样的情况,外面是一个安卓的控件元素,但是控件里面放的是 web 网页。...iframe是外面的主页的一个元素控件。跟它里面放的是一个 html 页面含义是一样的。...1.鼠标行为函数(move_to_element、悬浮元素的定位)。 2.perform()函数是用来执行鼠标操作的。...所有的命令都定义好了,所有的函数基本操作都是通过发送命令来实现的。详情请回看《元素定位和元素定位辅助工具》一文。 对原理有进一步的认知是比较好的。要成为一个会研究的人而不是只会用的人,所以多看源码。

89420

Puppeteer已经取代PhantomJs

自动执行表单提交,UI测试,键盘输入等。 创建最新的自动化测试环境。使用最新的JavaScript和浏览器功能,直接在最新版本的Chrome中运行测试。 捕获时间线跟踪 您的网站以帮助诊断性能问题。...$$eval(selector, pageFunction[, …args]):把 selector 对应的所有元素传入到函数并在浏览器环境执行 page....,这个函数在 Node 环境中执行,有机会在浏览器环境中调用 Node.js 相关函数库 6、 抓取 iframe 中的元素 一个 Frame 包含了一个执行上下文(Execution Context)...,我们不能跨 Frame 执行函数,一个页面中可以有多个 Frame,主要是通过 iframe 标签嵌入的生成的。...Frame 中执行函数必须获取到对应的 Frame 才能进行相应的处理 以下是在登录 188 邮箱时,其登录窗口其实是嵌入的一个 iframe,以下代码时我们在获取 iframe 并进行登录 (async

6.1K10
领券