下面一段代码是使用selenium访问网页一个小实例

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
Created on Dec 6, 2013

@author: Jay <smile665@gmail.com>
@description: use PhantomJS to parse a web page to get the geo info of an IP
'''

# from selenium import webdriver

# import sys
# reload(sys)
# sys.setdefaultencoding('utf-8')

# driver = webdriver.PhantomJS(executable_path='./phantomjs') #这要可能需要制定phatomjs可执行文件的位置
# driver.get("http://www.ip.cn/125.95.26.81")
# #print driver.current_url
# #print driver.page_source
# print driver.find_element_by_id('result').text.split('\n')[0].split('来自:')[1]
# driver.quit

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since
from selenium.webdriver.common.by import By

# browser = webdriver.Firefox() # Get local session of firefox  # 使用火狐浏览器,调用的时候会打开游览器执行完代码后会自动关闭
browser = webdriver.PhantomJS(executable_path='phantomjs') # 这要可能需要制定phatomjs可执行文件的位置
browser.get("http://192.168.0.125:9600/web/test/") # Load page

try:
    WebDriverWait(browser, 10).until(EC.title_contains("complete")) # 查找数据,500毫秒查找一次,找到则继续执行下面代码,超过10秒抛出异常
except Exception, e:
    print e
    browser.quit() 
ele = browser.find_element_by_id('math_box')
print browser.find_element_by_id('math_box').get_attribute('innerHTML')

# browser.close()  # 关闭当前焦点所在的窗口
browser.quit()  # 调用dispose()方法,关闭所有窗口,并且安全关闭session

在windows上面使用webdriver.Firefox() 需要先将firefox安装路径添加到环境变量中。

windows使用webdriver.Ie() 驱动,需要先下载IE驱动https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver,将解压后的IEDriverServer.exe复制到python安装路径。

selenuim介绍以及相关应用"使用python/casperjs编写终极爬虫"

官网教程:http://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-webdriver

selenium 使用笔记的更多相关文章

  1. selenium使用笔记(三)——元素定位

    selenium进行自动化测试的一个很重要的东西那就是元素定位,如果元素都没法定位就无法操作它,也就无法进行自动化测试了.网上对于元素定位有很多的介绍,很详细很详细的,但是依然有很多新手总是会遇到无法 ...

  2. selenium使用笔记(一)

    有时候在交流群里经常会看到这样的问题,selenium能进行性能测试吗?selenium1和selenium2有什么区别等等问题,在这里谈一下自己学习和工作以后对selenium的认识.我所记录的东西 ...

  3. Selenium学习笔记之外部化相关测试数据---xml

    我们也可以用xml来定义一个信息更为丰富的UIMap.xml文件,比如,额外还添加控件所属的页,控件的类型,然后解析构建一个XMLParser类来读取相应的值. <?xml version=&q ...

  4. selenium+python笔记11

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: search in mail box "&qu ...

  5. selenium+python笔记10

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ 我们多添加一些测试场景,比如:删除邮件,查找邮件,发送邮件等等 &qu ...

  6. selenium+python笔记9

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: delete mail 我们多添加一些测试场景,比如:删 ...

  7. selenium+python笔记8

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 定制浏览器 """ imp ...

  8. selenium+python笔记7

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 测试126邮箱的登陆功能 1.使用公共方法public. ...

  9. selenium+python笔记6

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 将登陆动作封装成function "" ...

随机推荐

  1. SpringMVC那点事

    一.SpringMVC返回json数据的三种方式 1.第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew. 如:<bean id=" ...

  2. 不会全排列算法(Javascript实现),我教你呀!

    今天我很郁闷,在实验室凑合睡了一晚,准备白天大干一场,结果一整天就只做出了一道算法题.看来还是经验不足呀,同志仍需努力呀. 算法题目要求是这样的: Return the number of total ...

  3. SE78、SWM0

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. C#多线程 线程池

    实例1:直接看看微软提供的代码 using System; using System.Threading; public class Example { public static void Main ...

  5. oracle审计详解-转

    http://blog.chinaunix.net/u2/66903/showart_2082884.htmlOracle使用大量不同的审计方法来监控使用何种权限,以及访问哪些对象.审计不会防止使用这 ...

  6. ASP.NET MVC实现POST方式的Redirect

    我们知道,在ASP.NET MVC中,要从一个Action跳转到另一个Action,通常是用一系列以“Redirect”开头的方法 Redirect RedirectToAction Redirect ...

  7. C3P0连接池问题,APPARENT DEADLOCK!!! Creating emergency..... [问题点数:20分,结帖人lovekong]

    采用c3p0连接池,每次调试程序,第一次访问时(Tomcat服务器重启后再访问)都会出现以下错误,然后连接库需要很长时间,最终是可以连上的,之后再访问就没问题了,请高手们会诊一下,希望能帮小弟解决此问 ...

  8. 小团队开发管理工具:gitlab+redmine+testlink+jenkins

    由于工作需要,需要为团队搭建一个高效可用的开发管理平台.现在可用的开发管理工具很多开源的.商业的,网上也有很多博客和文章.经过2周的学习比较,再结合自己的项目特点,最后选定工具集:gitlab+red ...

  9. Redis与MySQL的结合

    Redis与MySQL的结合 目前大部分互联网公司使用MySQL作为数据的主要持久化存储,那么如何让Redis与MySQL很好的结合在一起呢?我们主要使用了一种基于MySQL作为主库,Redis作为高 ...

  10. Hibernate(三)Hibernate 配置文件

    在上次的博文Hibernate(二)Hibernate实例我们已经通过一个实例的演示对Hibernate 的基本使用有了一个简单的认识,这里我们在此简单回顾一下Hibernate框架的使用步骤. Hi ...