zoukankan      html  css  js  c++  java
  • Python使用Selenium/PhantomJS

    安装selenium:

    1
    pip install selenium

    安装PhantomJS:

    1
    2
    3
    4
    https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
    tar jxvf phantomjs-1.9.7-linux-x86_64.tar.bz2
    cp phantomjs-1.9.7-linux-x86_64/bin/phantomjs /bin/
    chmod 755 /bin/phantomjs

    使用示例:

    1
    2
    3
    4
    5
    from selenium import webdriver
    driver = webdriver.PhantomJS()
    driver.get("http://www.baidu.com")
    data = driver.title
    print data

    通过Remote Selenium Server:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    driver = webdriver.Remote(
      command_executor='http://192.168.1.3:4444/wd/hub',
      desired_capabilities={'browserName': 'PhantomJS',
                                      'version': '2',
                                      'javascriptEnabled': True})
    driver = webdriver.Remote(
       command_executor='http://192.168.1.3:4444/wd/hub',
       desired_capabilities=DesiredCapabilities.PHANTOMJS)
    driver.get("http://www.baidu.com")
    data = driver.title
    print data

    PhantomJS和Firefox速度对比:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import unittest
    from selenium import webdriver
    import time
    class TestThree(unittest.TestCase):
     
        def setUp(self):
            self.startTime = time.time()
     
        def test_url_fire(self):
            self.driver = webdriver.Firefox()
            self.driver.get("http://www.qq.com")
            self.driver.quit()
     
        def test_url_phantom(self):
            self.driver = webdriver.PhantomJS()
            self.driver.get("http://www.qq.com")
            self.driver.quit()
     
        def tearDown(self):
            t = time.time() - self.startTime
            print "%s: %.3f" % (self.id(), t)
            self.driver.quit
     
    if __name__ == '__main__':
        suite = unittest.TestLoader().loadTestsFromTestCase(TestThree)
        unittest.TextTestRunner(verbosity=0).run(suite)
  • 相关阅读:
    储备学习drf的基本认知
    VUE基础一
    Django之outh模块
    MySQL模糊查询效率
    MySQL中位数计算方法
    1292
    正则表达式【UltraEdit / MySQL / 数据清洗】
    grep awk sed echo
    mysqldump备份工具使用
    shell的MySQL命令
  • 原文地址:https://www.cnblogs.com/skying555/p/4494057.html
Copyright © 2011-2022 走看看