请对应自己的谷歌浏览器的版本下载 chrome的webdriver:点击下载 windows环境变量配置 1、 webdriver文件位置 可以自定义位置,如:d:\selenium环境变量,的文件夹下
Webdriver概述 Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具,它提供了一套友好的API,与Selenium 1(Selenium-RC)相比,Webdriver Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序,也不必像Selenium 1那样需要先启动服务。 代码实现 from selenium import webdriver from time import sleep #加载浏览器驱动 driver=webdriver.Firefox() #打开自学网页面
我这里提供 selenium 官网驱动下载,里头还有指导如何配置环境变量以及各种版本多种浏览器驱动介绍
Selenium WebDriver也是控制浏览器代码运行的一种实现方式,通常被简称为WebDriver。 它有以下特点: WebDriver框架设计简单、编程接口设计简明。 WebDriver会话。 with webdriver.Firefox() as driver: # WebDriver code here... from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome( Remote WebDriver client 要运行远程WebDriver客户端,我们首先需要连接到远程WebDriver。我们通过将URL指向运行测试的服务器地址来实现。
Selenium WebDriver简介 Selenium WebDriver简介 是Selenium工具箱中功能最强大且最受欢迎的工具之一。 WebDriver是Selenium RC的扩展版本,具有许多优点,并解决了其许多限制。与Selenium IDE不同,WebDriver将其支持扩展到许多最新的浏览器和平台。 WebDriver架构 WebDriver是基于Web的测试工具,与Selenium RC有细微的差别。 WebDriver直接调用Web浏览器,并以这种方式执行整个测试脚本。WebDriver使用浏览器的支持和功能来实现自动化.与Selenium RC不同, ? Selenium WebDriver的功能 浏览器兼容性 ? ? WebDriver支持各种Web浏览器及其版本。
在python版本的webdrive中,DesiredCapabilities类为我们提供了解决方案,通过这个类,我们能够配置webdriver在指定的环境执行我们的测试脚本。 我们先看一下DesiredCapabilities的源码 源码分析 DesiredCapabilities类代码在C:\Python27\Lib\site-packages\selenium\webdriver Usage Example:: from selenium import webdriver selenium_grid_url = "http://198.0.0.1: driver = webdriver.Remote(desired_capabilities=capabilities, command_executor js "marionette": True, # 这个值没找对应的说明^_^ 不解释了} DesiredCapabilities示例 from selenium import webdriver
Selenium RC和Selenium Webdriver是测试框架,提供多种语言的API。 以及,Selenium Webdriver不需要本地服务器。 Selenium 1.x版本只包含前两个组件。从2.0开始Webdriver加入其中。 "webdriver. firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe"); WebDriver ("webdriver.chrome.driver", "... 隐性等待 隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间。默认值是0,但是设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用。
> Selenium Webdriver 3.X源码分析系列第16篇,该系列原则上会将整个源码分享一遍 本文主要分享webdriver.py模块中关键组织结构,webdriver.py模块是selenium webdriver最核心的模块,实现了webdriver日常使用的几乎所有的API,是必须掌握的模块。 webdriver类 ?
> Selenium Webdriver 3.X源码分析系列第17篇,该系列原则上会将整个源码分享一遍 webdriver.py是最核心的模块之一,是我们基于selenium webdriver进行实践时 我们看下,在webdriver.py模块中如何找到上述API的源码,如下图所示: ? 怎么看源码呢? 首先先从webdriver.py对外导出的API进行分类来看,如下图所示: 属性类,用于获取当前运行时的url、cache、HTML源码等等 ? 本文先介绍到这里,后续继续webdriver.py源码的分析说明 物联网 appium 大数据测试 RobotFramework Python 自动驾驶 jmeter selenium jenkins
> Selenium Webdriver 3.X源码分析系列第18篇,该系列原则上会将整个源码分享一遍 本文主要讲解,webdriver.py模块中WebDriver类。 下面对__init__函数的功能和参数进行说明: 功能: 创建一个使用webdriver wire协议命令的webdriver驱动实例。 Webdriver 3.X源码分析之DesiredCapabilities分布式测试解决方案 Selenium Webdriver 3.X源码分析之定位方式和键盘定义 Selenium Webdriver Selenium Webdriver 3.X源码分析之errorhandler.py Selenium Webdriver 3.X源码分析之switch_to.py Selenium Webdriver 3.X源码分析之webdriver.py(一) Selenium Webdriver 3.X源码分析之webdriver.py(二)
在python中安装Webdriver 安装selenium前需要确保python安装成功,并且已经安装了pip。安装 pip 的好处是可以使用 pip 命令方便地安装 Python 第三方库。
Selenium 基本使用 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys browser = webdriver.Chrome() browser = webdriver.Firefox() browser = webdriver.Edge() browser = webdriver.PhantomJS () browser = webdriver.Safari() 访问页面 from selenium import webdriver browser = webdriver.Chrome() browser.get try: browser = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://127.0.0.1 try: browser = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://127.0.0.1
先简要介绍一下这三个软件的关系,python是一种面向对象、直译式计算机程序设计语言,语法简洁而清晰,具有丰富和强大的类库;webdriver是selenium的一个web自动化测试类库,用来直接驱动浏览器 言归正传,让我们看看怎么搭建Python+Webdriver+Eclipse的环境吧 ---- Python篇(以2.7为例) Step1:python主程序 下载时注意选择适合自己操作系统版本的安装包 这里说明一下为什么选择Chrome作为我们的浏览器:webdriver支持IE、Firefox、chrome等大多数浏览器,不过多次实践比较后,我建议使用Chrome作为webdriver的默认浏览器。 PS:最新的ChromeDirver需要chrome浏览器至少是27.0.1453.0版本 安装完成之后,使用下面的代码测试一下吧: from selenium import webdriver driver 至此,环境搭建也就完成了,下面就跟着我一起进入webdriver之旅吧
目录[-] 实例化方法 from selenium import webdriver driver = webdriver.Chrome(executable_path='C:\Program Files # 鼠标移动的目标元素上 ActionChains(driver).click_and_hold(el).perform() # 移动到目标元素按下鼠标左键 键盘事件 from selenium.webdriver.common.keys from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait import time driver = webdriver.Firefox() driver.get("http://www.baidu.com") # 强制等待 time.sleep(5) # 隐形等待 driver.implicitly_wait Code') # 例如下拉浏览器滚动条 driver.execute_script('window.scrollTo(0, document.body.scrollHeight)') Cookie处理 webdriver
要想多线程并发的运行WebDriver,必须同时满足2个条件,首先你的测试程序是多线程,其次需要用到Selenium Server。下载位置如下图: ? 多线程并发运行WebDriver的步骤:1.运行hub 2.运行node 3.运行test case 。下面说下具体实现方法。 1.运行hub。 WebDriver driver = new RemoteWebDriver(new URL("http://hub的IP:端口/wd/hub"),capability); 由于是远程的方式,所以44行的设置就没什么用了
如何解决selenium webdriver.Firefox()找不到geckodriver文件 先声明:python IDLE我找不到能使用环境变量的设置,如你有更好的方法,请留言,多谢了。 如: from selenium import webdriver browser = webdriver.Firefox() //里面有个参数的默认初始值executable_path=”geckodriver 可执行程序就可以了,pycharm可以做到不用改动初始值即可正常运行, 但python IDLE会抛出异常,找不到geckodriver,必须重新赋值,用该可执行程序的绝对地址来赋值: browser = webdriver.Firefox (executable_path= ’ /usr/local/bin/geckodriver ’ ) 方可正常执行,或者你直接找到selenium包中的webdriver.py把里面的初始值改为上面这个绝对地址
version> </dependency> 启动测试 package com.alipay.ats.testcase.webui; import org.openqa.selenium.WebDriver fish on 14/09/15. */ public class ChromeTest { public static void main(String[] args) { WebDriver webDriver = new ChromeDriver(); webDriver.get("https://mybank.cn/index.htm"); //webDriver.close
1.driver.current_url:用于获得当前页面的URL 2.driver.title:用于获取当前页面的标题 3.driver.page_source:用于获取页面html源代码 4.driver.current_window_handle:用于获取当前窗口句柄 5.driver.window_handles:用于获取所有窗口句柄 6.driver.find_element_by***** 定位元素,有18种 7.driver.get(url):浏览器加载url。 8.driver.forward():浏览器向前(点击向前按钮)。 9.driver.back():浏览器向后(点击向后按钮)。 10.driver.refresh():浏览器刷新(点击刷新按钮)。 11driver.close():关闭当前窗口,或最后打开的窗口。 12.driver.quit():关闭所有关联窗口,并且安全关闭session。 13.driver.maximize_window():最大化浏览器窗口。 14.driver.set_window_size(宽,高):设置浏览器窗口大小。 15.driver.get_window_size():获取当前窗口的长和宽。 16.driver.get_window_position():获取当前窗口坐标。 17.driver.get_screenshot_as_file(filename):截取当前窗口。 18.driver.implicitly_wait(秒):隐式等待,通过一定的时长等待页面上某一元素加载完成。若提前定位到元素,则继续执行。若超过时间未加载出,则抛出NoSuchElementException异常。 19.driver.switch_to_frame(id或name属性值):切换到新表单(同一窗口)。若无id或属性值,可先通过xpath定位到iframe,再将值传给switch_to_frame() driver.switch_to.frame(id或name,或定位到的frame) 20.driver.switch_to.parent_content():跳出当前一级表单。该方法默认对应于离它最近的switch_to.frame()方法。 21.driver.switch_to.default_content():跳回最外层的页面。 22.driver.switch_to_window(窗口句柄):切换到新窗口。 23.driver.switch_to.window(窗口句柄):切换到新窗口。 24.driver.switch_to_alert():警告框处理。处理JavaScript所生成的alert,confirm,prompt. 25.driver.switch_to.alert():警告框处理。 26.driver.execute_script(js):调用js。 27.driver.get_cookies():获取当前会话所有cookie信息。 28.driver.get_cookie(cookie_name):返回字典的key为“cookie_name”的cookie信息。 29.driver.add_cookie(cookie_dict):添加cookie。“cookie_dict”指字典对象,必须有name和value值。 30.driver.delete_cookie(name,optionsString):删除cookie信息。 31.driver.delete_all_cookies():删除所有cookie信息。
一. webdriver中常用的cookie方法 webdriver中提供了操作cookie的相关方法: get_cookies() 获得cookie信息 add_cookie 第三步:python代码的实现,最容易出现问题的可能是这一步 1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 cookies \remote\webdriver.py", line 872, in add_cookie self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict }) File "D:\Program\python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in 2 import time 3 4 #driver1登录网站,获得cookie并保存 5 driver1 = webdriver.Chrome() 6 driver1.get("https
前言 本次就python webdriver的安装和驱动不同浏览器的配置进行分享,以解决大家在入门过程中的一些基本的环境问题。 安装webdriver 在命令行中输入以下命令,安装最新版的webdriver pip install selenium -U 注:webdriver是selenium 2的一部分。 注: 请注意各驱动所支持的对应的浏览器版本(webdriver、驱动、浏览器三者需匹配),不然会出现启动浏览器失败或connect timeout等异常