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)
  • 相关阅读:
    vijos 1894 セチの祈り
    luogu p1378 经验之谈
    審視自己
    高斯消去法的相關拓展
    通用汇点
    重征之战
    有文化的人吟了一句诗
    2016年7月总结
    BZOJ 1026: [SCOI2009]windy数
    BZOJ 1047: [HAOI2007]理想的正方形
  • 原文地址:https://www.cnblogs.com/skying555/p/4494057.html
Copyright © 2011-2022 走看看