如何查看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/selenium.html这个页面

这就是selenium文档所在的位置了,接下来便可以根据自己的需要进行查看了。举个例子,如果你想查看Webdriver类的基本方法,可以访问这个页面http://localhost:4567/selenium.webdriver.remote.webdriver.html

Firefox浏览器调用

Firefox浏览器驱动添加

Firefox原生支持,无需下载驱动,只要安装浏览器即可

Firefox浏览器的调用

#coding=utf-8
from selenium import webdriver driver=webdriver.Firefox()
url='http://www.baidu.com'
driver.get(url)
driver.close()

说明:

1、【#coding=utf-8】为了防止乱码问题,以便在程序中添加中文注释,把编码统一为UTF-8,注意=两遍不要留空格,否则不起作用,另外【#_*_coding:utf-8_*_】的写法也可以达到相同的作用

2、【from selenium import webdriver】该步骤是导入selenium的webdriver包,只有导入selenium包,我们才能使用webdriver API进行自动化脚本的开发

3、【driver=webdriver.Firefox()】这里将控制webdriver的Firefox赋值给driver,通过driver获得浏览器操作对象,后就可以启动浏览器、打开网址、操作对应的页面元素了。

Firefox自动运行中需要启动固定插件

首先,根据上述的浏览器调用,webdriver在启动浏览器时,启动的一个干净的没有任务、插件及cookies信息的浏览器(即使你本机的firefox安装了某些插件,webdriver启动firefox也是没有这些插件的),但是有可能被测系统本身需要插件或者需要调试等等,此时脚本会卡主无法运行,那么该如何解决呢?在解答问题前,先了解下,如何自定义带有特定配置的Firefox。

自定义Firefox配置文件

步骤如下:

1.运行CMD,打开Firefox的 Profile manager

2.点击"Create Profile...",完成步骤,包括输入Profile名字

3.点击"Start Firefox"

4.在新启动的Firefox中安装自己所需要的Add-On或者做其他配置

附:java代码:

string sPath = @"C:\Users\xxxx\AppData\Roaming\Mozilla\Firefox\Profiles\5f3xae4a.default";  FirefoxProfile ffprofile = new FirefoxProfile(sPath);

方法一:使用自定义的Firefox profile

用webdriver驱动firefox浏览器时如果不设置参数,默认使用的Firefox的profile和平时打开浏览器使用的firefox不一样,如果要使用平常使用的配置,需要增加如下操作:

profile_dir="C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles\wrdjxgdk.default-1434681389856"
profile = webdriver.FirefoxProfile(profile_dir)
driver = webdriver.Firefox(profile)

增加上述配置后,再调用driver进行get操作即可,其中黄色背景部分为Firefox的prifiles文件目录,一般都在:C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles目录下,至于启动什么样的浏览器,可以根据自己的需要定义,如:

a. 浏览网站,必须安装的插件,都安装完毕,且设置为:总是激活

b. 必要的安全设置等

方法二:使用代码进行配置

该方法是直接在代码里面进行插件的安装和profile的配置,如下先举例firebug插件的调用:

profile=webdriver.FirefoxProfile()
#加载插件
profile.add_extension('c:\\firebug-2.0.8-fx.xpi')
#激活插件
profile.set_preference("extensions.firebug.allPagesActivation", "on")
driver=webdriver.Firefox(profile)

增加上述配置后,再调用driver进行get操作即可。

我们除了可以使用上面提到的方法定制插件,webdriver还可以对profile进行定制(在firefox地址栏中输入about:config,可以查看firefox的参数),下面举例设置代理和默认下载路径:

myweb="192.168.9.111"
myport="" profile=webdriver.FirefoxProfile()
#设置代理
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", myweb)
profile.set_preference("network.proxy.http_port", myport)
#设置文件下载目录
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", "C:\\test")
driver=webdriver.Firefox(profile)

增加上述配置后,再调用driver进行get操作即可

参考资料

[1]Selenium2(WebDriver)总结(一)---启动浏览器、设置profile&加载插件,

http://www.cnblogs.com/puresoul/p/4251536.html

[2]Webdriver使用自定义Firefox Profile运行测试,

http://lijingshou.iteye.com/blog/2085276

[3]记录我遇到的selenium哪些令人摸不着头脑的问题,

http://blog.csdn.net/old_imp/article/details/11417999

Selenium+Python浏览器调用:Firefox的更多相关文章

  1. Selenium+python+shell+crontab+firefox

    最近在尝试一个自动打卡的脚本,发现了几个问题,特此记录一下. 环境: Ubuntu 12.04.4 LTS selenium 2.43.0 firefox 32.0.3 1 本来机器上selenium ...

  2. Selenium 设置浏览器下载 Firefox 和Chrome

    当我们在使用Selenium运行自动化测试时,偶尔需要用到下载功能,但浏览器的下载可能会弹出下载窗口,或者下载路径不是我们想要保存的位置,所以在通过Selenium启动浏览器时需要做相关的设置,将使这 ...

  3. selenium+python 浏览器标签页跳转 switch_to_window

    浏览器页面跳转方法记录: from selenium import webdriver import time browser = webdriver.Chrome() first_url='http ...

  4. selenium+python浏览器窗口的切换

    1.首先需要知道当前浏览器中有多少个活动的窗口 >>> br.window_handles[u'{075a54ee-3d10-4c76-b56d-b645259bbd54}', u' ...

  5. selenium+python启动Firefox浏览器失败问题和点击登陆按钮无效问题

    问题1:使用python+selenium编写脚本调用Firefox时报错:

  6. selenium python 一些操作和定位收集

    (—)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...

  7. python+selenium浏览器调用(chrome、ie、firefox)

    代码: #coding=utf-8 from selenium import webdriver driver=webdriver.Chrome() #调用chrome浏览器 driver.get(' ...

  8. python+selenium环境配置及浏览器调用

    最近在学习python自动化,从项目角度和技术基础角度出发,我选择了python+selenium+appium的模式开始我的自动化测试之旅: 一.python安装 二.python IDE使用简介 ...

  9. Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建;学习Python语言,利用Python语言来写测试用例。加油!!!

    Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建:学习Python语言,利用Python语言来写测试用例.加油!!!

随机推荐

  1. ListView之ArrayAdapter

    ArrayAdapter 普通的显示listView子项,安卓的内置对象 使用方法: /* ListView :列表 通常有两个职责: a.将数据填充到布局 b.处理点击事件 一个ListView创建 ...

  2. PHP批量审核后台

    /*批量审核方法*/ function setOn_all() { if($_POST) { $p=M('news'); $data=array(); $i=0; foreach ($_POST as ...

  3. WebFrom模拟MVC

    如:  aspx前台     这样写生成页面时不会产生新的html标签,用控件则会产生新的html标签 <h1><%= title %></h1> <p> ...

  4. ios delegate 和 block

    //委托的协议定义 @protocol UpdateDelegate <NSObject> - (void)update; @end @interface Test : NSObject ...

  5. NuGet学习笔记(2)——使用图形化界面打包自己的类库(转)

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  6. CLR via C# - CLR模型

    博客园对markdown支持不佳,错乱移步Github IO 博文 CLR 的执行模型 模块/程序集 1.模块 托管模块组成部分 PE32/PE32+头 : PE即Portable Executabl ...

  7. J2EE 中 The function valueOf must be used with a prefix when a default namespace is not specified 错误

    jsp页面中,JSTL El表达式字符串比较常用方法 fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, sear ...

  8. DevExpress gridcontrol添加了复选框删除选中的多行/批量删除的方法

    思路:遍历gridView1的每一行,该行中checkbox列被勾选则设置该行为选中状态,执行gridView1提供的DeleteSelectedRows方法则可 public void DoDele ...

  9. IOS Block 反向传值

    1.在需要像上一个界面传值的.h 文件实现代理方法 @property (nonatomic, copy) void(^isOpenHandler)(BOOL) ; 2.在执行操作的时候需要江操作的结 ...

  10. wxPython缩放图片控件的一个小例子

    前几天写程序的时候,想有个自适应的图片控件,但是一直没有找到合适的解决方案.今天终于解决了这个问题,发在这里,以供参考. 程序截图: 文件下载地址: http://files.cnblogs.com/ ...