随笔分类 -  Python+Selenium

摘要:当调试浏览器的某个页面进行某些操作,但是我们要求是操作当前已经打开的某个页面,在当前页面直接执行程序运行 selenium 脚本,这个时候可以用到复用浏览器的方法 以Chrome为例,复用已经打开的浏览器 1. 退出当前所有的Chrome浏览器 2. 配置Chrome的启动路径为环境变量 3. 启动 阅读全文
posted @ 2021-12-07 16:43 ElsaWang 阅读(335) 评论(0) 推荐(0)
摘要:通过传递不同的参数,来测试不同的浏览器,用来做兼容性测试 代码: def test_browser(): #使用os模块的getenv方法来获取声明环境变量browser browser = os.getenv('browser').lower() # 判断browser的值 if browser 阅读全文
posted @ 2021-12-07 15:58 ElsaWang 阅读(69) 评论(0) 推荐(0)
摘要:iframe多表单切换 通常通过传id, name, index,以及selenium的WebElement对象来切换frame: 1.id: 传入字符串的参数: 以126邮箱登录为例 driver.switch_to.frame('id') 2. name: 传入字符串的参数: driver.sw 阅读全文
posted @ 2021-12-07 15:35 ElsaWang 阅读(109) 评论(0) 推荐(0)
摘要:有时候我们在窗口A点击一个链接跳转到新窗口B,这时候可以用webdriver提供的相关方法来在多个窗口之间切换并操作不同窗口的元素。要想在多个窗口之间切换,首先要获得每一个窗口唯一的标识符号(也就是句柄),通过获得的句柄来区分不同的窗口,从而对不同窗口的元素进行操作。 代码: from time i 阅读全文
posted @ 2021-12-06 16:44 ElsaWang 阅读(259) 评论(0) 推荐(0)
摘要:1. ActionChains简介 ActionChains是一种自动化底层交互的方法,比如鼠标移动,鼠标按键动作,按键和上下文菜单交互。这对于做更复杂的动作很有用,比如悬停和拖放。 2. 执行原理 当调用 ActionChains 对象上的操作方法时,不会立即执行,而是将操作存储在 ActionC 阅读全文
posted @ 2021-12-02 21:12 ElsaWang 阅读(585) 评论(0) 推荐(0)
摘要:输入: send_keys()driver.find_element_by_id('kw').send_keys('python') 点击:click()driver.find_element_by_id('su').click() 清除:clear()driver.find_element_by_ 阅读全文
posted @ 2021-12-02 20:00 ElsaWang 阅读(51) 评论(0) 推荐(0)
摘要:1. 如何元素定位 打开浏览器,按F12, 进入elements tab. 2. Selenium 提供以下方法来定位页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_ 阅读全文
posted @ 2021-12-02 19:37 ElsaWang 阅读(61) 评论(0) 推荐(0)
摘要:强制等待 强制等待,让线程休眠一段时间 time.sleep(5)隐式等待 隐式等待 设置一个等待时间,轮询查找(默认0.5秒)元素是否出现,元素找到后立刻停止轮询,如果元素没有出现就抛出异常。 隐式等待是针对于全局的 self.driver.implicitly_wait(5) 显示等待 WebD 阅读全文
posted @ 2021-12-02 19:07 ElsaWang 阅读(42) 评论(0) 推荐(0)
摘要:1. selenium的简介 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。它主要由三个工具组成:WebDr 阅读全文
posted @ 2021-12-02 18:45 ElsaWang 阅读(66) 评论(0) 推荐(0)