随笔分类 - Selenium
摘要:MacOS Selenium跨浏览器环境搭建-目录 macOS使用Selenium测试Opera浏览器 macOS使用Selenium测试新版Edge浏览器 macOS使用Selenium操作Firefox浏览器 macOS使用Selenium驱动Safari浏览器 macOS搭建Selenium
阅读全文
摘要:MacOS Selenium跨浏览器环境搭建-目录 macOS使用Selenium测试Opera浏览器 macOS使用Selenium测试新版Edge浏览器 macOS使用Selenium操作Firefox浏览器 macOS使用Selenium驱动Safari浏览器 macOS搭建Selenium
阅读全文
摘要:基础 Selenium中有几种等待 隐形等待/智能等待 dr.implicitly_wait() 显性等待 WebDriverWait 强制等待 time.sleep() Selenium中有哪些定位方式 8种 tag 三大基本属性 id/name/class_name 链接 link text/p
阅读全文
摘要:Selenium是一个支持多平台+多浏览器+多版本的浏览器自动化测试框。 Selenium在启动浏览器时可以通过desired_capbilities参数来指定需要启动的平台、浏览器、版本及浏览器启动参数。 ChromeOptions是chromedriver支持的浏览器启动选项。 options常
阅读全文
摘要:在Selenium中可以使用drvier.execute_script()来执行Javascript脚本,支持多行语句。 使用Javascript可以实现以下功能: 移除元素隐藏、禁用、只读等限制属性 为元素添加id或高亮样式 页面滚动 富文本框输入(HTML注入) 获取页面信息 使用Javascr
阅读全文
摘要:Selenium是一款浏览器自动化测试框架,基于Webdriver协议。 从本质上来说: webdriver是一套接口标准,使用标准的HTTP RESTful接口,使用JSON格式传递数据。 chromedriver是实现该标准的Chrome浏览器的一套驱动服务。 Selenium实际上是对各种接口
阅读全文
摘要:MHTML即MIME HTML,归档网页,将样式和脚本全部集成到一个文件中。 Chrome Devtools Protcal API中包含了Page.captureSnapshot方法,可以获取到网页的mhtml格式内容。 我们使用Selenium的driver.execute_cdp_cmd()执
阅读全文
摘要:Selenium在启动浏览器时实际进行里两步操作, 1. 通过子进程,使用chromedriver启动一套Webdriver服务 2. 使用webdriver.Remote()方法连接该服务并发送指令启动浏览器。 在某些情况下如果,你需要分离式启动服务和连接服务的过程,可以使用以下步骤,参考代码如下
阅读全文
摘要:当使用Selenium爬取一些页面时,有些页面加载速度特别慢,而我们又不需要等待页面完全加载完毕。 此时可以通过 来设置页面超时时间。 捕获异常,并执行js脚本 即可实现,代码如下。 报错处理: 如果遇到如下,超时错误,可以尝试更新chromedriver驱动。
阅读全文
摘要:[toc] 前言 在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示: 整个富文本编辑器是通过iframe嵌入到网页中的,手动尝试输入内容,发现内容是输入到iframe页面的body中的, 这种富文本框怎么输入呢? 我们也可以直接在body的源码上点击右键选择Edit
阅读全文
摘要:[TOC] 在使用Chrome浏览网页时,我们可以使用Chrome开发者工具模拟手机浏览器,在使用Selenium操作Chrome时同样也可以模拟手机浏览器。主要有以下两种用途。 1. 测试H5页面在不同分辨率设备上的显示情况是否正常 2. 爬取数据(一般网站对移动设备浏览的反爬教弱) 使用指定设备
阅读全文
摘要:国产的360安全浏览器,360急速浏览器,QQ浏览器,遨游浏览器甚至新版还未上市的Edge浏览器都是基于Chrome浏览器的开源版本Chronium开发来的。所以360浏览器可以理解为一个定制的Chrome浏览器,最新360安全浏览器是基于Chromium 63版本的,落后正式的Chrome版本。
阅读全文
摘要:在学会了抓包,接口请求(如requests库)和Selenium的一些操作方法后,基本上就可以编写爬虫,爬取绝大多数网站的内容。 在爬虫领域,Selenium永远是最后一道防线。从本质上来说,访问网页实际上就是一个接口请求。请求url后,返回的是网页的源代码。 我们只需要解析html或者通过正则匹配
阅读全文
摘要:在Web自动化中,常常遇到三种弹框: 1. JavaScript警告框,如alert,confirm,prompt等,如下图: 处理方法为driver.switch_to.alert().dismiss()或river.switch_to.alert().accept() Alert弹框 Confi
阅读全文
摘要:在调试Selenium脚本中,有时因为操作太快或操作不明显而不清楚是否定位到了正确的元素。我们可用通过执行js为定位到的元素添加样式,来高亮显示定位到的元素。 在Selenim Webdriver中,可以通过driver.exectue_scirpt() 执行JavaScript代码,执行的Java
阅读全文
摘要:Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你。 Selenium做不到。 你可以手工使用开发者工具Ctrl+Shift+P调出命令行菜单,执行Capture full screenshot命令进行截图,如下图图
阅读全文
摘要:Chrome自带的开发者工具DevTools功能非常强大。有时候我们在使用Selenium操作浏览器时需要通过调用一下DevTools的方法来完成一些设置,如模拟移动设备,弱网模拟等等。 Selenium的WebDriver类中有一个 方法可以用来执行Chrome开发这个工具命令。 cdp即Chro
阅读全文
摘要:在使用selenium测试后台时常常每个流程都需要走登录流程,这样自然比较浪费时间。如果遇到登录需要输入验证码等情况,就可能出师未捷身先死。 在Web应用中,登录状态通常是通过Cookie中对应的session id验证的。也是就是说,我们只要携带上登录后的Cookies,浏览器就会自动识别我们为登
阅读全文
摘要:目录 Selenium自动化测试基础 Selenium自动化测试第一天(上) Selenium自动化测试第一天(下) Selenium自动化测试第二天(上) Selenium自动化测试第二天(下) 更多学习资料请加添加作者微信:superz-han获取 什么是自动化测试? 自动化测试是把大量需要人工
阅读全文
摘要:需求 在Python Selenium 的 PageObject模式中,一般每个页面需要写一个类, 一种PageObject的写法如下: 对于一个成型的UI项目来说, 在编写用例前, 动辄要先编写数十上百个这种PageObject类. 鉴于每个PageObject类的格式相似, 可以采用 Page
阅读全文

浙公网安备 33010602011771号