目前做selenium自动化使用的主流语言分为java和python,前一篇为java版,本篇介绍python实现selenium启动Firefox。

 1 #-*- coding:utf-8 -*-
2
3 from selenium import webdriver
4 from selenium.common.exceptions import NoSuchElementException, TimeoutException
5 from selenium.webdriver.remote.webelement import WebElement
6 from selenium.webdriver.support.ui import WebDriverWait # available since
7 from selenium.webdriver.common.keys import Keys
8
9 from time import sleep
10 import os, time
11
12 # driver = webdriver.Chrome("D:\Downloads\chromedriver.exe")
13 driver = webdriver.Firefox()
14 print u"加载驱动完成.."
15 driver.get("https://ww.baidu.com") # 加载页面
16 print u"加载页面完成.."
17
18 sleep(1)
19
20 try:
21 assert u"百度一下" in driver.title
22 print ('Assertion baidu title pass.')
23
24 elements = driver.find_elements_by_tag_name("input")
25
26 for e in elements:
27 if e.get_attribute("type")=="text":
28 print e.text
29 e.send_keys("123456")
30 # print e.tag_name
31 # print e.location
32 except Exception as e:
33 print ('Assertion baidu title fail.', format(e))
34
35 driver.maximize_window() # 浏览器全屏显示
36 driver.close()

注意:可能会遇到一些报错 
1. geckodriver.exe没有放到python安装目录下,这一类报错。 
2. python demo.py 执行后,找不到文件,说明没有通过cd命令切换到demo.py所在的文件夹路径。 
3.打开火狐浏览器了,但是没有获取到url地址 
4.火狐浏览器打开且进入百度网页后关闭火狐浏览器时,提示浏览器遇到一个错误,停止运行了

针对 问题 3、4,我这边是通过降低Firefox浏览器的版本(如果遇到一下这类问题或相关浏览器调用问题,可升级或降低 selenium 和 firefox 的版本 进行兼容)

总结: 
通过上面代码,和本文,基本了解了如何打开和关闭浏览器。如果想打开IE或者Chrome浏览器,也需要下载对应浏览器的driver.exe文件

① 在chrome 下运行脚本,需要将chromedriver.exe 放在chrome浏览器安装目录下

(同时设置用户环境变量path:C:\Users\xxxxxx\AppData\Local\Google\Chrome\Application;)

②2 在ie 下运行脚本,需要将IEDriverServer.exe 放在ie浏览器安装目录下

(同时设置用户环境变量path:C:\Program Files\Internet Explorer ),如果在调用浏览器遇到浏览器保护模式问题,可打开Ie浏览器–工具–Internet选项–安全–internet/本地intarnet/受信任的站点/受限制站点中的 启用保护模式全部勾选或者全部不选的勾去掉

③ 在firefox下运行脚本,直接调用(默认Python安装路径下,例如我的路径为:D:\Program Files (x86)\Python36\geckdriver.exe)

Selenium启动Firefox示例(python版)的更多相关文章

  1. Selenium启动Firefox示例(java版)

    本文示例使用selenium启动Firefox,并将浏览器窗口最大化,在百度搜索框内输入"HelloWorld",最后点击搜索按钮. 源代码如下: 1 package com.se ...

  2. 7.解决在python中用selenium启动FireFox浏览器启动不了的方法

    首次在利用python中的selenium启动FireFox浏览器时可能碰到如下问题 当输入如下代码时: from selenium import webdriver brower=webdriver ...

  3. selenium启动firefox时加载扩展

    有些时候,我们测试需要用到插件或者已经导入的证书(比如金融和安全加密行业),而selenium启动firefox时会打开一个新的,不含有任何插件和个人证书的firefox(等同于全新安装后第一次打开的 ...

  4. selenium启动Firefox失败

    今天搭建java+selenium环境,搭建几次都失败,总结一下原因 1. selenium启动Firefox,不需要额外的driver 2. Friefox如果没有安装到默认路径C盘,代码中需要修改 ...

  5. selenium启动firefox打开导入向导问题解决

    操作系统:win8-64位 火狐版本:40.0.2 问题描述:selenium启动firefox时,每次启动都提示我导入其他浏览器的页签,如下图所示 解决方法一: 到firefox的profiles. ...

  6. selenium启动firefox、ie、chrome各浏览器方法

    1.启动firefox浏览器 a.如果你的本地firefox是默认路径安装的话,如下方式即可启动浏览器 WebDriver driver = new FirefoxDriver(); driver.g ...

  7. Selenium chrome配置代理Python版

    环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + Chrome 58.0.3029.110 (64-bit) S ...

  8. selenium 速查手册 python版

    1.安装与配置 pip install selenium 基本使用selenium都是为了动态加载网页内容用于爬虫,所以一般也会用到phantomjs mac下如果要配置phantomjs环境的话 e ...

  9. selenium各种场景下的启动Firefox

    开始学习selenium时为了启动Firefox可谓费尽周折,在大神的帮助下才堪堪搞定,走出了selenium的第一步:jdk1.8 + selenium_2.46 + Firefox国际版40.0. ...

随机推荐

  1. Win10 安装 Python3 (上)

    Python3 For Windows 10 installer 参考 The full installer 安装 随后可以看到,installer 在用户环境变量PATH中,添加了三项: 卸载 使用 ...

  2. 【进阶之路】多线程条件下分段处理List集合的几种方法

    这两个月来因为工作和家庭的事情,导致一直都很忙,没有多少时间去汲取养分,也就没有什么产出,最近稍微轻松了一点,后续的[进阶之路]会慢慢回到正轨. 开门见山的说,第一次接触到多线程处理同一个任务,是使用 ...

  3. [leetcode] 90. 子集 II.md

    90. 子集 II 78. 子集题的扩展,其中的元素可能会出现重复了 我们仍沿用78题的代码,稍作改动即可: 此时需要对nums先排个序,方便我们后面跳过选取相同的子集. 跳过选取相同的子集.当选取完 ...

  4. 人工智能AI Boosting HMC Memory Chip

    人工智能AI Boosting HMC Memory Chip Innosilicon的AI Boosting HMC存储芯片适用于高速,高带宽和高性能存储领域,例如AI边缘,数据中心,自动化等. H ...

  5. Octave Convolution卷积

    Octave Convolution卷积 MXNet implementation 实现for: Drop an Octave: Reducing Spatial Redundancy in Conv ...

  6. Pipe Utilization管道利用率

    Pipe Utilization管道利用率 概述 CUDA设备的每个流式多处理器(SM)都具有许多专门用于执行特定任务的硬件单元.在芯片级,这些单元提供执行管道,翘曲调度程序将指令发送到这些管道.例如 ...

  7. JUC 并发编程--05, Volatile关键字特性: 可见性, 不保证原子性,禁止指令重排, 代码证明过程. CAS了解么 , ABA怎么解决, 手写自旋锁和死锁

    问: 了解volatile关键字么? 答: 他是java 的关键字, 保证可见性, 不保证原子性, 禁止指令重排 问: 你说的这三个特性, 能写代码证明么? 答: .... 问: 听说过 CAS么 他 ...

  8. C语言const关键字的作用

    1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <string.h> 4 #include ...

  9. Mybatis数据连接池的配置---增删改查(以及遇见的问题)

    1.首先创建项目和各个文件,如图所示: 2.配置相关数据库连接 在jdbc.properties中加入 1 db.driver=com.mysql.jdbc.Driver 2 db.url=jdbc: ...

  10. csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」

    题目是古埃及神话??? A. 天空龙 傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...) B. 巨神兵 难度爆增,一脸懵比..... 60分状压: 因为是求有向图,关于有向图好像拓扑用 ...