讲起动态网页获取我们一定会用到selenium,至于selenium在各种语言的开发代码很多,但是在我们兴致勃勃找了很多代码,要运行的时候,编译器只会给我们抛出异常,因为我们没有配置好环境。下面我将为大家介绍我在配置selenium环境的做法。
Chrome
首先我们从Chrome浏览器的配置说起:
Chrome浏览器的根据其版本分为很多中,当我们点开Chromediver download 页就懵逼了,这么多驱动我们应该下载那个呢,chromedriver对应的Chrome版本可以查看到你的chrome应该下载那个驱动。
谷歌浏览器下载地址:
- http://www.slimjet.com/chrome/google-chrome-old-version.php
- http://google_chrome.en.downloadastro.com/old_versions/
- http://filehippo.com/zh/download_google_chrome/
- http://www.chromedownloads.net/
使用mac本的可以使用:chrome-to-mac in uptodown
chromedriver下载地址: http://chromedriver.storage.googleapis.com/index.html
在解决了驱动的问题之后,那我们应该把驱动放在那个位置,才能让我们的程序直接调用chromedriver呢。chromedriver放在python的根路径下,python也可以直接调用驱动。如果你已经配置好了,那我们就来运行下面的代码,获取python官方网站的源码把:
1 # encoding:utf-8 2 # Author:"richie" 3 # Date:8/16/2017 4 5 from selenium import webdriver 6 url='https://www.python.org/' 7 driver = webdriver.Firefox() 8 driver.get(url) 9 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 10 html_source = driver.page_source 11 driver.quit() 12 print(html_source)
当然你也可以放放置在其他地方,把路径加进来就好了,比如放在C盘的根路径:
1 # encoding:utf-8 2 # Author:"richie" 3 # Date:8/16/2017 4 5 from selenium import webdriver 6 url='https://www.python.org/' 7 #引入chromedriver.exe 8 chromedriver = "C:chromedriver.exe" 9 driver = webdriver.Chrome(chromedriver) 10 driver.get(url) 11 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 12 html_source = driver.page_source 13 driver.quit() 14 print(html_source)
FireFox
firefox的配置没有chrome那么麻烦,但是FireFox打开速度相对要慢一丢丢,驱动下载链接Firefox的驱动geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/
配置方法和chrome一样,火狐各个版本下载地址。
1 from selenium import webdriver 2 3 browser = webdriver.Firefox() 4 browser.get('http://www.baidu.com/')
IE浏览器
IE的驱动IEdriver 下载地址:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/
from selenium import webdriver browser = webdriver.Ie() browser.get('http://www.baidu.com/')
补充:
所有版本selenium以及IEDriverServer下载
当然还有selenium和IEDriverServer,Python版的selenium直接pip就可以了,下面的链接里主要是Java版的和.NET版的