随笔分类 - selenium
摘要:1、前言 web页面嵌套了iframe,这个iframe又是可以滚动的,如何操作iframe上的滚动条 2、示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <
阅读全文
摘要:在用selenium获取页面时,很多时候需要将滚动条拖到页面底部,下面总结了几种方法. 目录 location_once_scrolled_into_view ActionChains js方法scrollIntoView js方法scrollBy send_keys(Keys.END)模拟向页面发
阅读全文
摘要:在HTML中,由于页面美化和用户交互的需求,元素隐藏的使用非常常见,比如下拉菜单、内容折叠、对话框以及上传文件框等。隐藏常见有以下几种表现形式。 hidden:占据空间,无法点击 style="display: none" :最常见,不占据空间,无法点击 style="visibility: hid
阅读全文
摘要:1.在web自动化过程中当遇到一闪而过的元素该如何定位吗下面介绍通过页面暂停页面 打开浏览器调试,选择Sources,当需要暂停时按住下方按钮,页面即可停止。然后回到element页面定位元素即可
阅读全文
摘要:当使用Selenium爬取一些页面时,有些页面加载速度特别慢,而我们又不需要等待页面完全加载完毕。此时可以通过driver.set_page_load_timeout()来设置页面超时时间。捕获异常,并执行js脚本window.stop()即可实现,代码如下。 from selenium impor
阅读全文
摘要:1.页面没有加载 添加显示等待解决 2.页面存在ifram 当页面有ifram时使用xpath定位的问题,这时页面处于ifram内不能使用copy xpath。这样定位在浏览器里能找到,但是程序无法识别。只能使用ifram内的定位 3.出现多个window 切换 4.可能元素不在浏览器可见区域 需要
阅读全文
摘要:一.selenium基本操作 selenium操作大概可以分为浏览器操作(驱动实例),元素操作,鼠标操作,键盘操作,以及js操作 相关操作源码 remote.webdriver 里面全是浏览器相关操作 remote.webelement里面全是元素操作 common.action_chains里面则
阅读全文
摘要:方法1:直接调用click() ele.click 方法2:调用execute_script(),通过js实现 driver.execute_script("arguments[0].click();", ele) 方法3:调用鼠标操作实现 ActionChains(driver).move_to_
阅读全文
摘要:一.调试过程中遇到电脑越来越卡的问题 这个问题一般就是没有关闭webdriver服务导致。调试一遍打开一个服务最后导致电脑越来越卡。解决办法 1.在执行末尾添加driver.close方法。2.打开任务管理器进程找到浏览器driver并关闭。栗子:谷歌为chromedriver.exe 二. chr
阅读全文
摘要:一.介绍 find_element 是查找一个元素对象并返回元素对象。当页面有多个元素对象时返回第一个找到的元素。 find_elements是查找页面所有元素并返回元素对象列表可以通过下标获取元素对象。栗子:ele[0] 即第一个元素对象与find_element等效。 二.封装 一般用显示等待封
阅读全文
摘要:一.介绍 为了更好的debug我们在自动化测试中遇到的问题我们调出webdriver server端日志帮我们分析运行过程中发生的事件 日志截图 通过分析server端执行状态可以清晰看到底层执行事件,能帮助我们更好的定位bug。更加详细的请自行查看 二.生成日志代码 from time impor
阅读全文
摘要:一.XPATH定位介绍 1.xpath 语法资料地址 https://www.runoob.com/xpath/xpath-tutorial.html 2.XPath节点 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点 3.xpath表达式 xpa
阅读全文
摘要:一.EC模块介绍 EC模块是一个智能判断的模块,合理利用EC可以极大增加我们脚本运行的稳定性。该模块不止用于web端,在app端也能使用。一般配合显示等待一起使用。源码位于selenium.webdriver.support.expected_conditions.py,各方法的返回值可能是elem
阅读全文
摘要:一.selenium 目录说明 selenium common --公用方法 webdriver --浏览器方法 __init__.py --将常用方法导入包 下面将详细介绍主要功能的实现 1.这里已初始化代码用例进行讲解 selenium 框架是一个B/S架构需要启动服务端,webdriver.c
阅读全文