Trying to find a good way to set a maximum time limit for command execution latency in Selenium Python WebDriver. Ideally, something like: ff = webdriver.Firefox() ff.implicitly_wait(10) # seconds ff.get("http://somedomain/url_that_delays_loading&quo…
先贴一下源码: base.py文件如下: from selenium import webdriver class Page(object): ''' 页面基础类,用于所有页面的继承 ''' rb_url = 'http://XXXXX' def __init__(self,selenium_driver,base_url=rb_url): self.driver = selenium_driver self.base_url = base_url self.timeout = 30 def o…
保存图片到指定文件夹: from selenium import webdriverfrom pathlib import Pathfrom time import sleepdriver = webdriver.Chrome()driver.get("http://www.baidu.com")driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()slee…
from selenium import webdriver from selenium.webdriver.common.by import By import os,time driver = webdriver.Chrome() file_html = "file:///" + os.path.abspath("C:/Users/XXXXXX/Desktop/PY_file/html/checkbox/index.html") driver.get(file_…
总结: 感谢: “煜妃”<Selenuim+Python之元素定位总结及实例说明> “Huilaojia123”<selenium WebDriver定位元素学习总结> “上海-悠悠”<Selenium2+python自动化9-CSS定位语法> 的文章…
今日在公司电脑运行自动化测试脚本,出现cannot find Chrome binary报错 百思不得其解,排错后发现应该是电脑以前有配置driver文件路径,driver所在文件路径已变更,现python还是在原路径查找webdriver,解决办法:调用driver时指定driver所在的绝对路径即可解决. driver = webdriver.Chrome("D:\Google\Chrome\Application\chromedriver.exe")…
感谢: 煜妃的<Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)> ClassName定位报错问题:<[Python]Selenium元素定位错误之解决办法>…
感谢CSDN:huilan_same大神 网页地址:http://blog.csdn.net/huilan_same/article/details/52200586…
本章涉及Selenium WebDriver的所有接口. Recommended Import Style 推荐的导入风格如下: from selenium import webdriver 然后,你可以这样访问所有的类: webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrome webdriver.ChromeOptions webdriver.Ie webdriver.Opera webdriver.PhantomJS webdr…
想实现一个自动下载微信公众号分享百度网盘图片链接的爬虫,使用selenium和火狐的webdriver进行完成 1.首先根据自己的浏览器下载相应的webdriver驱动器,python中导入selenium包.webdriver下载好后,放在浏览器的默认安装地址中, 然后再在自己的python默认安装地址中也加入一份webdriver,并且添加环境变量path,加入浏览器的安装地址,即:webdriver放置的目录 2.获取自己浏览器的默认配置,也可以不用,即去掉 propath = r"C:\…
尝试使用python + selenium + pycharm 做自动化测试, 命令行pip install selenium 安装了selenium.但是使用pycharm 新建一个测试项目后并新建一个test01.py 文件 在文件中导入selenium 包,from selenium import webdriver 提示报错 Unresolved reference 'webdriver'.就是pycharm 找不到selenium模块导致的. 分析查找原因: pycharm 新建tes…
组合优点多,但经常比继承需要额外的代码. 上一篇是 介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的四种方式. 此篇介绍直接把被组合的类的属性直接加入到类里面,前面的四个例子很简单,这次来个实际例子的举例. # coding:utf-8 import logging import unittest from selenium import webdriver class DriverWrapper(): def __init__(self): self.driver = web…
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<selenium +  python自动化测试>一书. 在与测试用例文件夹同一目录下新建一个文件夹package,用来放置封装方法的模块文件 我们将webdriver二次封装的文件命名为location.py from selenium import webdriver from test_case.pub…
总结了Python+selenium常用的一些方法函数,以后有新增再随时更新: 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: maximize_window() 设置窗口参数:set_window_size(600,800) 后退到前一页: back() 前进到后一页: forward() 刷新页面: refresh() 获得title并打印 # coding:utf-8 from selenium import webd…
selenium python 报错如下: raise exception_class(message, screen, stacktrace)selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability…
(我是在windows下进行实验的) 准备工作: 1.安装python环境. 2.python安装selenium插件(执行以下命令就行).   pip install selenium 3.Windows下配置webdriver chrome. 如果以上准备工作都做好了. 那么我们就来编写python脚本. 脚本代码如下: # coding = utf-8 #模拟浏览器自动登录yahoo邮箱 from selenium import webdriver from time import sle…
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本章中的API第一显示的都是类的绝对位置.然而,要推荐的是下面这种import风格: from selenium import webdriver 接着,你可以像下面这样访问其中的类: webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrom…
Page Object 设计原理 Page Object设计模式是Selenium自动化测试项目的最佳设计模式之一,强调测试.逻辑.数据和驱动相互分离. Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况.当页面元素id变化时,只需要更改测试页Class…
有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间.sleep(): 设置固定休眠时间. python 的 time 包提供了休眠方法 sleep() , 导入 time 包后就可以使用 sleep()进行脚本的执行过程进行休眠.implicitly_wait():是 webdirver 提供的一个超时等待.隐的等待一个元素被发现,或一个命令完成.如果超出了设置时间的则抛出异常.WebDriverWait():同样也是 webdirver 提供的方法.在设置时间内,默认每隔一段时间检测一次当…
之前写了同样的文章,可是后来自己按照给文章再次搭建环境当搭建环境成功后却发现还是无法用.使用from selenium import webdriver,在run的时候却出现ImportError: cannot import name webdriver的提示,但是在Python IDLE里面跑却没有错误,在网上找了很多资料说在控制太中使用import selenium print selenium.__file__去看打印出的文件路径,如果不是下面类似的C:\Python27\lib\sit…
如何查看python selenium的API python -m pydoc -p  4567 说明: python -m pydoc表示打开pydoc模块,pydoc是查看python文档的首选工具: -p 4567表示在4567端口上启动server 然后在浏览器中访问http://localhost:4567/,此时应该可以看到python中所有的Modules按ctrl+f,输入selenium,定位到selenium文档的链接,然后点击进入到http://localhost:4567…
1 python下载安装 python早已安装,不再多说.因为开发使用的python2.7,所以同样使用2.7 2 打开Powershell, 输入python -m pip install selenium . 提示: Requirement already satisfied (use --upgrade to upgrade): selenium in e:\python27\lib\site-packagesYou are using pip version 7.1.2, however…
大多数现代web应用都使用了AJAX技术.当浏览器加载一个页面的时候,该页面内的元素可能在不用的时间间隔内进行加载.这使得元素定位变得比较困难:如果一个元素还没有出现在DOM中,定位函数将会抛出一个ElementNotVisibleException异常.使用waits等待可以解决这个问题.等待将会给定位一个元素或者对元素进行一些其他的操作提供一个缓冲的时间. Selenium WebDriver提供了两种类型的等待--显式等待和隐式等待.显式等待会给WebDriver一个确定的条件,如果条件满…
一.安装python: 我安装的是2.7.13版本的:可以在CMD下 运行python命令查看是否安装python,以及安装版本: 在https://www.python.org/getit/这个地址可以下装所需版本. 安装完成后需要配置环境变量,path=--;python的安装目录 二.setuptool安装(python 的基础包工具) http://pypi.python.org/pypi/setuptools 这个是下载路径,一开始我也下载了,但是装得一塌糊涂.后来网上找到一篇教程,是…
    最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重,为了减轻回归测试的工作量,所以考虑后台可以进行部分自动化测试.     之前一个项目使用robotframework进行回归测试,了解了python语言,所以这次就使用python+selenium进行自动化回归测试了. 配置环境 python2.7 运行工具pycharm2017 流程说明 登录操作步骤说明 打开登录url,如http…
Webdriver启用的火狐不带插件,可以自已进行配置 先找到火狐的安装路径 C:\Program Files\Mozilla Firefox 步骤说明 在CMD中使用cd命令进入firefox.exe文件所在目录(比如:C:\Program Files\Mozilla Firefox),并输入firefox.exe -ProfileManager -no-remote命令,然后按Enter键,调出“Firefox – 选择用户配置文件”操作窗口 如果firefox.exe -ProfileMa…
前言 前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片. 这样每次调用的时候,在命令行里面加一个文件路径的参数就行. 一.命令行参数 1.参数化传入的参数,可以通过autoit的命令行参数: myProg.exe param1 "This is a string parameter" 99 在脚本中,可用以下变量获取命令行参数: $CmdLine[0] ; = 3 $CmdLine[1] ; = param1 $Cmd…
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Firefox() driver.get("http://somedo…
grid整理: 机制 Hub机器和节点机器上要装jdk和jar包 A机器:hub  中控:用来监控所有节点机的状态 启动命令: java -jar selenium-server-standalone-3.8.1.jar -role hub 启动成功结果显示: INFO - Registered a node http://192.168.1.105:6666 B机器:节点机1,注册到hub机器上,角色是webdriver节点 启动节点机命令: java -jar selenium-server…
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工具处理windows的控件窗口是专业的,所以这个需借助AutoIt来解决了. 一.环境准备 1.可以autoit官网上下载,安装 http://www.autoitscript.com/site/ 2.下载到本地后傻瓜式安装,安装完之后在应用程序找到这个Autoit v3 3.AutoIt里面几个菜…