zoukankan      html  css  js  c++  java
  • selenium 使用笔记

    下面一段代码是使用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(' ')[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

  • 相关阅读:
    一个Java对象到底占用多大内存
    Java 动态代理机制分析及扩展
    JVM内幕:Java虚拟机详解
    深度分析 Java 的 ClassLoader 机制(源码级别)
    Java异常的深入研究与分析
    HashMap的工作原理
    Java枚举常见7种用法
    left join 过滤条件写在on后面和写在where 后面的区别
    mysql left( right ) join使用on 与where 筛选的差异
    SQL索引优化
  • 原文地址:https://www.cnblogs.com/weiok/p/4866415.html
Copyright © 2011-2022 走看看