selenium
夜莺_Cody
这个作者很懒,什么都没留下…
展开
-
selenium driver:No such file or directory: 'geckodriver'
在Linux或Mac运行一个包含Selenium的Python程序时遇到这样的报错:解决的办法是到这里下载对应浏览器的Driver,然后再将解压后的文件放到 usr/bin/ 或者 usr/local/bin/ 目录之下就可以了。另附:driver下载地址(含有其他有关应用):https://npm.taobao.org...转载 2019-05-28 21:47:22 · 646 阅读 · 0 评论 -
selenium - xpath定位相同属性的元素
1、#先定位到父节点,再从父节点找指定节点例如:注意不能直接用driver.find_element_by_xpath('//*[@id="branch_inquiry"]').find_element_by_class_name('city-picker-span')用法# -*- coding: utf-8 -*-from selenium import webdriverfr...转载 2019-08-28 22:12:00 · 2815 阅读 · 0 评论 -
selenium自动化测试框架PO设计模式
整理一下 selenium 自动化测试实践中使用较多的 PO(PageObject)设计模式面向对象的特性:封装\继承\多态.在自动化中一样适用,selenium 自动化测试中有一个名字常常被提及 PageObject(思想与面向对象的特性相同),通过 PO 模式可以大大提高测试用例的维护效率传统测试脚本的弊端:测试脚本分离,维护成本高可扩展性差复用性低等PageOb...原创 2019-06-21 22:20:54 · 15054 阅读 · 12 评论 -
selenium自动化之文件上传操作
上传操作有两种情况1.如果是input可以直接输入路径的,那么直接调用send_keys输入路径2.非input标签的上传,则需要借助第三方工具 2.1 AutoIt 我们去调用其生成的au3或exe文件 2.2 SendKeys第三方库(目前只支持到2.7版本) 网址:http://pypi.python.org/pypi/SendKeys 2.3 Python py...原创 2019-06-17 22:03:24 · 2028 阅读 · 1 评论 -
selenium切换到alert弹窗处理
这里提前准备了一段简单的alert页面<html> <head></head> <button id="only">快点我!</button> <script> a = 200 function demo(){alert(a);} var aa = document.getElem...原创 2019-06-11 21:16:14 · 1976 阅读 · 0 评论 -
selenium切换iframe页面
from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byi...原创 2019-06-11 20:25:12 · 1850 阅读 · 1 评论 -
selenium自动化之滚动条操作
当待操作的元素在可视区外,则需要将待操作的元素滚到课时区域当中基本思路:1.先找到元素element = driver.find_element_by_xpath('//span[text()="2" and @class="pc"]')2.再将元素拖动到可视区域(通过执行JavaScript语句实现)driver.execute_script('arguments[0]....原创 2019-06-16 20:55:15 · 3792 阅读 · 0 评论 -
selenium常用的浏览器窗口操作
我们平时正常使用浏览器的时候,在某一个操作可能会打开一个新的浏览器标签,是直接跳到新标签页的;那么在自动化中是不会自动选择新打开的标签页的,在自动化中是如何安全稳定的选取新标签页的,代码如下:from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom seleniu...原创 2019-06-10 21:34:45 · 861 阅读 · 0 评论 -
selenium自动化js处理日历控件操作
日历控件是在web上常遇到的场景,有些事可以输入,但有些事不能输入的,接下来以12306网站为例,讲解如何解决日历控件为readonly属性的问题基本思路:先用js去掉readonly属性,然后直接输入日期文本内容用Google查看输入框的属性:readonly="",如下:<input type="text" class="input" value="2018-07-21" i...原创 2019-06-14 12:08:31 · 865 阅读 · 0 评论 -
selenium自动化常用的键盘操作
selenium提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要导入from selenium.webdriver.common.keys import Keys在keys类中,定义了非常多的按键操作,以下内容是在实际上会常用到的组合键:我们经常会用到的Ctrl+A,Ctrl+C都是组合键在使用按键操作的时候需要借助一下send_keys()来模拟操作Keys.CO...原创 2019-06-13 22:09:01 · 2360 阅读 · 0 评论 -
selenium自动化几个常用的鼠标操作
由selenium的ActionChains类来完成模拟鼠标操作主要操作流程:1.存储鼠标操作2.perform()来执行鼠标操作支持的操作如下:double_click() 双击操作context_click() 右击操作drag_and_drop() 拖拽操作.左键按住拖动某一个元素到另一个区域,然后释放按键move_to_element() 鼠标悬停,常会用到...原创 2019-06-13 21:10:12 · 1091 阅读 · 0 评论 -
selenium浏览器基本操作以及元素四大基本操作
from selenium import webdriver# 显性等待 导入库from selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common....原创 2019-06-02 15:57:14 · 478 阅读 · 0 评论 -
selenium元素定位的几种方式
from selenium import webdriver# 打开一个指定的浏览器driver = webdriver.Chrome()# 访问一个网址driver.get('https://www.baidu.com')# id定位ele = driver.find_element_by_id("kw")# class定位 参数只能是一个class值driver....原创 2019-06-02 13:28:41 · 939 阅读 · 0 评论 -
selenium处理select/option
selenium提供了Select类来处理select/option引入类:from selenium.webdriver.support.ui import Select选择下拉列表值:1.通过下标选择:select_by_index(index) 从0开始2.通过value属性:select_by_value(value值)3.通过文本内容:select_by...原创 2019-06-12 22:10:30 · 5809 阅读 · 0 评论 -
selenium - 判断元素存在
在实际工作中可能会遇到元素存在与不存在的情况,如果元素不存在的话,操作元素会报错,或者元素有多个,不唯一的时候也会报错。下面就看一下示例。def is_element_exist(self,loc,model): """ :param loc: 元素定位表达;元组类型,表达方式(元素定位类型,元素定位方法) :param model: 等待失败时,截图操作,图片文件中...原创 2019-08-30 10:37:56 · 1275 阅读 · 0 评论